如何自定义在ASP.NET MVC 3不显眼的验证,以符合我的风格? [英] How can I customize the unobtrusive validation in ASP.NET MVC 3 to match my style?
问题描述
在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屋!