Kor*_*ori 32 asp.net jquery jquery-validate asp.net-mvc-3
MVC 3中的默认验证基于jQuery验证,我通常可以使用以下内容进行自定义:
$.validator.setDefaults({
submitHandler: function() { alert('submitHandler'); },
errorPlacement: function(error, element) {
// do something important here
alert('errorPlacement');
},
errorClass: "error",
errorElement: "input",
onkeyup: false,
onclick: false
})
Run Code Online (Sandbox Code Playgroud)
但是,这似乎在MVC 3中不起作用.具体来说,似乎并没有调用errorPlacement,我也不知道为什么.我将调用submitHandler,但绝不会调用errorPlacement.
如何自定义验证以匹配我的网站风格所需的任何结构/样式?默认值很高,但并不总是适用于所有情况.
Fel*_*sin 46
在我的代码中,而不是使用$.validator.setDefaults
我访问表单验证器$("#form_selector").data('validator')
,然后更改设置.
$(function () {
var validator = $("#form_selector").data('validator');
validator.settings.errorPlacement = function(error,element) {
alert('errorPlacement');
};
});
Run Code Online (Sandbox Code Playgroud)
看看它是否适合你.
CBa*_*arr 39
我有同样的问题,但后来发现不显眼的插件实际上casuing问题,那么它将覆盖你设置的任何选择!诀窍是按以下顺序编写/包含您的代码:
任何其他订单,这将无法正确设置!
小智 6
正确的方法:
脚本顺序:
自定义代码和选项脚本:
var settings = {
//...
};
// override jQuery unobtrusive validator settings
$.validator.unobtrusive.options = settings;
Run Code Online (Sandbox Code Playgroud)