jQuery 使用非侵入式验证时未执行验证
jQuery Validate is not executing while using Unobtrusive Validation
我正在使用 ASP.NET MVC,我有 jQuery、jQuery 验证、jQuery validate.config、jQuery 验证不显眼,不显眼的 ajax 和我捆绑包中的其他库。我的页面中有一个表单,里面有一些字段。它有一个按钮类型的按钮,当用户单击该按钮时,我正在尝试做一些事情,然后执行 $(form).submit()
,我希望它被 jQuery 验证中的提交处理程序拦截方法,而不是提交表单,它将对我的服务器执行 ajax post。我想使用 jQuery.validate 方法的原因是我在表单中有很多条件必填字段和其他验证。但由于某种原因,jQuery 验证根本不是 executing/firing,表单正在提交而不是被提交处理程序拦截。如果我正确设置了所有内容,我不知道为什么它不起作用。这是我对 jQuery 验证方法的调用。我从来没有看到警告说是好的。
$('form[name="submitCheckoutForm"]').validate({
debug: true,
rules: {
"Password": {
required: true
}
},
submitHandler: function (form) {
//actions.SubmitCheckout();
alert('is good');
return false;
}
});
<input type="password" required>
如果您使用的是 Unobtrusive Validation 插件,则您不能同时调用 jQuery Validate 的 .validate()
方法。
为什么?
Unobtrusive Validation 插件 自动 根据表单中的各种数据属性构造 .validate()
方法。
jQuery 验证插件不允许在同一个表单上多次调用 .validate()
方法。因此,由于您已经在使用非侵入式验证来构造 .validate()
,因此您对 .validate()
的其他调用将被完全忽略。
我正在使用 ASP.NET MVC,我有 jQuery、jQuery 验证、jQuery validate.config、jQuery 验证不显眼,不显眼的 ajax 和我捆绑包中的其他库。我的页面中有一个表单,里面有一些字段。它有一个按钮类型的按钮,当用户单击该按钮时,我正在尝试做一些事情,然后执行 $(form).submit()
,我希望它被 jQuery 验证中的提交处理程序拦截方法,而不是提交表单,它将对我的服务器执行 ajax post。我想使用 jQuery.validate 方法的原因是我在表单中有很多条件必填字段和其他验证。但由于某种原因,jQuery 验证根本不是 executing/firing,表单正在提交而不是被提交处理程序拦截。如果我正确设置了所有内容,我不知道为什么它不起作用。这是我对 jQuery 验证方法的调用。我从来没有看到警告说是好的。
$('form[name="submitCheckoutForm"]').validate({
debug: true,
rules: {
"Password": {
required: true
}
},
submitHandler: function (form) {
//actions.SubmitCheckout();
alert('is good');
return false;
}
});
<input type="password" required>
如果您使用的是 Unobtrusive Validation 插件,则您不能同时调用 jQuery Validate 的 .validate()
方法。
为什么?
Unobtrusive Validation 插件 自动 根据表单中的各种数据属性构造
.validate()
方法。jQuery 验证插件不允许在同一个表单上多次调用
.validate()
方法。因此,由于您已经在使用非侵入式验证来构造.validate()
,因此您对.validate()
的其他调用将被完全忽略。