在提交之前MVC 4不引人注意的Jquery验证

Jul*_*mon 3 jquery-validate unobtrusive-validation asp.net-mvc-4

我想连接所有表单,以便在Jquery Validation未发现错误之后,在表单提交或提交之前显示加载程序.

如何使用MVC 4不显眼的验证来实现这一目标?

我按照本文,如何在使用jQuery Unobtrusive Validation时添加'submitHandler'函数尝试了以下内容?:

$("form").data("validator").settings.submitHandler = function (form) { alert('submit'); form.submit(); };
Run Code Online (Sandbox Code Playgroud)

我将它放在OnLoad部分,但这不会触发.我认为以上将适用于所有形式?

谢谢!

Spa*_*rky 6

请参阅内置setDefaults方法的文档.您也不需要该form.submit()行,因为插件已经处理了这一点.

$.validator.setDefaults({
    submitHandler: function (form) {
        alert('valid form submitted'); // for demo
        return false; // for demo, blocks default submit, needed with ajax too.
    }
});
Run Code Online (Sandbox Code Playgroud)

演示:http: //jsfiddle.net/W4jfY/


编辑:

仅申请一个表格......

$('#myform').validate({
    // any other options for this form,
    submitHandler: function (form) {
        alert('valid form submitted'); // for demo
        return false; // for demo, blocks default submit, needed with ajax too.
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但这似乎没有工作 - 代码被忽略或可能被MVC不显眼的验证脚本覆盖. (2认同)