示例如果我有多个表单,我如何验证" identity_passport"必须是不同的不一样:
<form id="form_1">
<input name="name_1">
<input name="email_1">
<input name="identity_passport_1" data-field="identity_passport">
</form>
<form id="form_2">
<input name="name_2">
<input name="email_2">
<input name="identity_passport_2" data-field="identity_passport">
</form>
<form id="form_3">
<input name="name_3">
<input name="email_3">
<input name="identity_passport_3" data-field="identity_passport">
</form>
<button type="submit" id="button_submit">Submit</button>
我有一个自定义提交按钮,它位于表单之外的单个页面中。我使用.each()方法,如(下):
<script>
$('form').each(function () {
$(this).validate({
errorElement: "span",
errorPlacement: function (error, element) {
//
},
success: function (label, element) {
//
},
highlight: function (element, errorClass, validClass) {
//
}
});
});
</script>
更新2018/01/25: 经过长时间的尝试,是可能的。这是我的测试和演示: https://jsfiddle.net/claudchan/4t41kjLr/4/
答案 0 :(得分:1)
示例如果我有多个表单,我如何验证“identity_passport”必须是不同的...
使用jQuery Validate无法同时验证不同form
容器中的字段。
jQuery Validate插件使用其规则和设置一次评估单个表单。它无法评估另一个完全独立的表单中包含的任何字段。它也不能评估不同形式的领域。
解决方法:使用单个form
容器和dynamically add your fields。只要您保留唯一的name
属性,它就会起作用。
答案 1 :(得分:0)
有一个jquery插件可用于验证表单
并且您也可以在没有它的情况下验证您的表单。您只需要记住每个关键字只会触发一种形式。
不要使用 ID 如果您有多个表单用于同一任务,它会给您一个 HTML DOM 错误。而不是使用类名来验证。
$('form').each(function() { // <- selects every <form> on page
$(this).validate({ // <- initialize validate() on each form
// your options // <- set your options inside
});
});