我正在努力使用jQuery验证脚本,其中我有一个需要makred的许多元素的表单,它似乎忽略了最后一个 - 除非我在提交之前关注它。我创建了一个更简单的例子,它复制了下面的问题:
<form id="testForm">
<label>Type:</label>
Sample Text 1: <input type="text" class="required"/><br>
Sample Text 2: <input type="text" class="required"/><br>
<button type="button" id="submitButton">Submit</button>
</form>
$(document).ready(function() {
var validator = $('#testForm').validate({
});
$("#submitButton").click(function() {
if (validator.form()) {
alert("Validation passed");
}
});
});
只需打开页面并立即按“提交”按钮,您将看到它仅将验证错误放在第一个元素上。然后在第一个输入中输入内容但不要触摸第二个输入并再次点击提交。它会通过验证!即使我已经要求他们两个!
答案 0 :(得分:1)
这不是一个错误,只是记录它需要name属性。但无论如何,每个输入都应该有一个唯一的名称。
要使validate插件正常工作,每个输入都需要name属性。
<form id="commentForm">
<label>1</label><input name="1" type="text" class="required"/><br/>
<label>2</label><input name="2" type="text" class="required"/><br/>
<label>3</label><input name="3" type="text" class="required"/><br/>
<label>4</label><input name="4" type="text" class="required"/><br/>
<button type="submit" id="submitButton">Submit</button>
</form>
这是一个小提琴。