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

查看:111
本文介绍了如何自定义在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.

推荐答案

在我的code,而不是使用 $。validator.setDefaults 我访问使用表单验证 $(#form_selector)。数据('验证'),然后更改设置。

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');
    };

});

看它是否适合你。

See if it works for you.

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

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