如何将回调添加到jquery验证(在MVC 2中使用时)

All*_*ice 8 javascript asp.net jquery jquery-validate asp.net-mvc-2

我在我的MVC2 Web应用程序中使用jquery进行验证(如此处所述),我想连接jquery验证插件支持的一些回调,如invalidHandler等.

我可以手动编辑MicrosoftMvcJQueryValidation.js并添加我的回调(在__MVC_EnableClientValidation中,在options变量中)但我正在寻找一种更好的方法,因为该文件被重复使用,我不想创建一次性副本.

手动将invalidHandler(etc)回调添加到表单验证的方法正是我需要的.显然,这通常是在第一次调用validate()时通过选项完成的,但由于Microsoft控制该特定部分,这不是一个选项.

All*_*ice 9

来自Herikstad.net:

如果你有一个问题,你需要invalidHandler在jqueryValidate(jQuery Validation Plugin)初始化之后添加该选项,这就是它的工作方式:

$(document).ready(function(){
    $("#contactForm").bind('invalid-form.validate',

        function(form, validator) {
            alert('validation failed!');
        }
    );
});
Run Code Online (Sandbox Code Playgroud)

通常你会在初始化时添加它:

$(document).ready(function(){
    $('#contactForm').validate({
        invalidHandler: 
        function(form, validator) {
            alert('validation failed!');
        }, 
        rules: {}
    });
});
Run Code Online (Sandbox Code Playgroud)

注意:当提交表单验证失败时将调用invalidHandler(例如,字段的值缺失等).

这可能适用于jqueryValidate插件的其他选项,但我不确定要使用哪个属性.我在jquery.validate.js文件中找到要绑定的属性,你可能想看看那里.