[英]multiple jquery validators on one form
我正在使用jquery.validate插件,并遇到以下情况:
<form id="myForm" ....>
<input type="text" id="value1"/>
<!-- Here is some code rendered from the partial -->
<script type="text/javascript">
$(document).ready(function() {
var validator = $('#myForm').validate({
rules: {
value_from_partial: {
required: true
}
},
messages: {
value_from_partial: {
required: "Enter your firstname"
}
},
submitHandler: function() {
alert("submitted!");
}
});
});
</script>
<input type="text" id="value_from_partial"/>
<!-- End of code rendered from the partial -->
</form>
<script type="text/javascript">
$(document).ready(function() {
var validator = $('#myForm').validate({
rules: {
value1: {
required: true
}
},
messages: {
value1: {
required: "Enter your firstname"
}
},
submitHandler: function() {
alert("submitted!");
}
});
});
</script>
部分验证中添加的验证无效。 当我从主html中删除.validate时,则部分验证有效。 看来jquery.validate不允许在同一表单上有两个.validate调用。 另一方面,我不能为验证器调用“添加”规则,因为我希望验证代码来自部分本身(实际上是一个插件)。 有什么办法可以将我的验证逻辑与部分验证包括在一起,并且可以使用jqury.validate代替手动验证。 还有其他验证框架可以允许这样做吗? 谢谢!
您是正确的,不能两次调用validate()
。 可以,但是这些选项第二次无效。
两种选择:
required
类添加到输入中,而不是添加必需的规则。 验证器支持这一点。 validate
在一个ready
的事件,通过这个对象,而不是调用validate
两次。 如果要将大型表单分解成多个部分,那么为什么不将每个部分做成自己的表单呢? 每个部分完成后,您可以使用最终形式的隐藏输入来结转值,或者更好地分配会话变量。
在部分加载之前,您可以尝试使验证器成为全局变量。
var validator;
接下来,您将尝试在第二个document.ready块中解除对validate()的第一次调用的提交方法的绑定:
$('#myForm').unbind('submit');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.