使用 Jquery validate 在单击时验证单组字段
validating single set of fields on click using Jquery validate
我制作了一个包含多个部分的表单,后面的部分是隐藏的,但会在用户单击当前部分的下一步按钮后显示。我正在尝试在显示表单的其余部分之前对这次点击进行简单的 "must be filled" 验证。
据我从这里的其他问题中收集到的信息,我的方法应该有效。如果发现错误,var validate
应该等于 true
,这将停止表单的进展,但允许表单填写字段并再次单击按钮后的进度
然而,目前这一切似乎只是验证第一个字段,然后什么都不做。即使该字段有效,它仍然不会继续执行函数的其余操作。
js 库:http://cdn.jsdelivr.net/jquery.validation/1.14.0/jquery.validate.min.js
我正在尝试使用的方法:http://jqueryvalidation.org/Validator.element/
<div class="col-sm-8 sec-one">
<div class="form-group">
<select name="t1" required>
<option value="" disabled selected>Choose an option...</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="A">A</option>
<option value="D">D</option>
</select>
</div>
<div class="form-group">
<select name="t2" required>
<option value="" disabled selected>Choose an option...</option>
<option value="A">A</option>
<option value="D">D</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</div>
<button type="button" class="formbut next1">Next</button>
</div>
var validator = $("form").validate();
$(".next1").click(function () {
validator.element('.sec-one [name]');
if (validator) {
$(".sec-one").slideUp("slow", function () {
$(".sec-two").slideDown("slow");
});
} else {}
});
"As far as i can gather from other questions on here my method should work.. var validate
should equal true
if errors are found"
I'm not sure where you saw that。在您的代码中,您已经从条件中删除了 element()
部分。如果没有错误,$('#yourform').validate().element()
应该是 return true
.
var validator = $("#myform").validate(); // create the validator variable
validator.element("#myselect"); // test an element
更好的方法...
参考官网,简单使用the .valid()
method测试表单and/or个别元素。 true
表示 没有错误。
$('#myform').valid();
或
$('input[name="myelement"]').valid();
我制作了一个包含多个部分的表单,后面的部分是隐藏的,但会在用户单击当前部分的下一步按钮后显示。我正在尝试在显示表单的其余部分之前对这次点击进行简单的 "must be filled" 验证。
据我从这里的其他问题中收集到的信息,我的方法应该有效。如果发现错误,var validate
应该等于 true
,这将停止表单的进展,但允许表单填写字段并再次单击按钮后的进度
然而,目前这一切似乎只是验证第一个字段,然后什么都不做。即使该字段有效,它仍然不会继续执行函数的其余操作。
js 库:http://cdn.jsdelivr.net/jquery.validation/1.14.0/jquery.validate.min.js
我正在尝试使用的方法:http://jqueryvalidation.org/Validator.element/
<div class="col-sm-8 sec-one">
<div class="form-group">
<select name="t1" required>
<option value="" disabled selected>Choose an option...</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="A">A</option>
<option value="D">D</option>
</select>
</div>
<div class="form-group">
<select name="t2" required>
<option value="" disabled selected>Choose an option...</option>
<option value="A">A</option>
<option value="D">D</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</div>
<button type="button" class="formbut next1">Next</button>
</div>
var validator = $("form").validate();
$(".next1").click(function () {
validator.element('.sec-one [name]');
if (validator) {
$(".sec-one").slideUp("slow", function () {
$(".sec-two").slideDown("slow");
});
} else {}
});
"As far as i can gather from other questions on here my method should work..
var validate
should equaltrue
if errors are found"
I'm not sure where you saw that。在您的代码中,您已经从条件中删除了 element()
部分。如果没有错误,$('#yourform').validate().element()
应该是 return true
.
var validator = $("#myform").validate(); // create the validator variable
validator.element("#myselect"); // test an element
更好的方法...
参考官网,简单使用the .valid()
method测试表单and/or个别元素。 true
表示 没有错误。
$('#myform').valid();
或
$('input[name="myelement"]').valid();