在MVC 3中的默认验证是基于
jQuery Validation,我可以通常自定义类似:
$.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。
如何自定义验证以匹配我的网站风格所需的任何结构/样式?默认是伟大的,但它并不总是在每种情况下工作。
解决方法
在我的代码,而不是使用$ .validator.setDefaults我访问表单验证器使用$(“#form_selector”)。data(‘validator’),然后更改设置。
$(function () { var validator = $("#form_selector").data('validator'); validator.settings.errorPlacement = function(error,element) { alert('errorPlacement'); }; });
看看它是否适合你。