如何在 ASP.NET MVC 3 中自定义不显眼的验证以匹配我的风格? [英] How can I customize the unobtrusive validation in ASP.NET MVC 3 to match my style?

查看:23
本文介绍了如何在 ASP.NET MVC 3 中自定义不显眼的验证以匹配我的风格?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

MVC 3 中的默认验证基于 jQuery 验证,我通常可以自定义类似:

The default validation in MVC 3 is based on jQuery Validation, which I can usually customize with something like:

$.validator.setDefaults({
  submitHandler: function() { alert('submitHandler'); },
  errorPlacement: function(error, element) {
    // do something important here
    alert('errorPlacement');
  },
  errorClass: "error",
  errorElement: "input",
  onkeyup: false,
  onclick: false
})

但是,这在 MVC 3 中似乎不起作用.具体来说,errorPlacement 似乎从未被调用过,我也不知道为什么.我会调用 submitHandler,但不会调用 errorPlacement.

But, that doesn't seem to work in MVC 3. Specifically, errorPlacement doesn't ever seem to be called and I've no idea why. I'll get the submitHandler called, but never errorPlacement.

如何自定义验证以匹配我网站样式所需的任何结构/样式?默认设置很好,但并不总是适用于所有情况.

How can I customize the validation to match whatever structure/style that I require for my site's style? The default is great, but it doesn't always work in every situation.

推荐答案

在我的代码中而不是使用 $.validator.setDefaults 我使用 $("#form_selector").data('validator') 然后更改设置.

In my code instead of using $.validator.setDefaults I access the form validator using $("#form_selector").data('validator') and then change the settings.

$(function () {

    var validator = $("#form_selector").data('validator');
    validator.settings.errorPlacement = function(error,element) {
        alert('errorPlacement');
    };

});

看看它是否适合你.

这篇关于如何在 ASP.NET MVC 3 中自定义不显眼的验证以匹配我的风格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆