我有一个MVC项目,我使用内置验证,使用jquery.validate.js和jquery.validate.unobtrusive.js进行数据注释。这一切都很好,我的表格将验证。
在一个表单上,我有一个邮政编码查找按钮,因此我通过在按钮中添加formnovalidate
属性来使用建议来禁用此按钮的验证。这也很好,并允许我提交表单,使用ajax进行我的邮政编码查找。
单击此按钮后,我可以单击主提交按钮,它将发布表单而不进行任何验证。
我查看了jquery.validate.js文件并看到使用此代码取消验证:
// allow suppressing validation by adding the html5 formnovalidate attribute to the submit button
if ( $(event.target).attr("formnovalidate") !== undefined ) {
validator.cancelSubmit = true;
}
然后我可以通过以下方式重新启用它:
if ( event.target.id == 'submit' ) {
validator.cancelSubmit = false;
}
但是我不想更改源文件,就像我使用nuget进行更新一样,我可能会忘记我已经更改了该文件并忘记将该行重新放入。
如何将validator.cancelSubmit = false;
绑定到按钮点击 - 这样的事情(由于我没有validator
对象,这将无效):
$('#submit').on('click', function() {
validator.cancelSubmit = false;
});
我尝试使用$.validator.cancelSubmit = false;
,但这不起作用
答案 0 :(得分:2)
您可以使用validator
:
data()
对象
$(yourForm).data('validator').cancelSubmit = false;