更改asp.net-mvc-3中不引人注目的验证的行为

更改asp.net-mvc-3中不引人注目的验证的行为,asp.net-mvc-3,jquery-validate,unobtrusive-validation,Asp.net Mvc 3,Jquery Validate,Unobtrusive Validation,我想更改jquery.validate.unobtrusive.js的默认行为 我希望能够更改选项,如错误消息的位置或在发生错误时突出显示字段等 我所能做的就是单独使用jquery.validate插件。只需更改一些验证方法选项,如突出显示或错误放置 因此,我想覆盖unobtrusive validation的一些功能,是否可以不更改jquery.validate.unobtrusive.js文件您可以从表单数据获取本机验证器,然后订阅任何。例如errorPlacement: $(functio

我想更改
jquery.validate.unobtrusive.js的默认行为

我希望能够更改选项,如错误消息的位置或在发生错误时突出显示字段等

我所能做的就是单独使用
jquery.validate
插件。只需更改一些
验证
方法选项,如
突出显示
错误放置


因此,我想覆盖unobtrusive validation的一些功能,是否可以不更改
jquery.validate.unobtrusive.js
文件您可以从表单数据获取本机验证器,然后订阅任何。例如
errorPlacement

$(function() {
    var validator = $('form').data('validator');
    validator.settings.errorPlacement = function(error, element) {
        // do your custom error placement
    };

    validator.settings.highlight = function(element, errorClass) {
        // do your custom error highlight
    };
});

在非侵入性验证开始之前,没有办法覆盖这些选项?您所说的非侵入性验证开始之前是什么意思?当用户试图提交表单时,开始进行不引人注目的验证。在我展示的示例中,当DOM就绪并覆盖默认设置时,您直接插入jquery验证程序设置。这不是你要找的吗?如果没有,你在寻找什么?我的意思是,在这一点上,不引人注目的验证已经查询了页面,调用了验证函数并将其选项传递给了它,我可以在那之前更改这些选项吗?我不明白你在问什么,我的示例有什么问题,为什么它不符合你的要求。在我展示的示例中,您正在更改这些选项。如果您不喜欢不引人注目的验证工作方式,您可以摆脱它,直接挂接jquery验证插件。就我个人而言,这就是我所做的。是的,这正是我想要的,但是评论只是为了性能,有没有一种方法可以改变功能而不需要对页面进行额外的查询?如果代码中触发了事件,我会倾听这些事件,或者使用回调函数更改注释中的行为$.validator.setDefaults(),这是一种正常的思维方式!下面很难找到。