提问人:Chaddeus 提问时间:3/14/2011 最后编辑:Darin DimitrovChaddeus 更新时间:3/14/2011 访问量:803
是否有可能“入侵”MVC 3 中支持的不显眼的验证 ASP.NET?
Is it possible to "hack into" the unobtrusive validaton supported in ASP.NET MVC 3?
问:
我希望能够使用内置的、基于数据注释的、不显眼的客户端验证,但在我知道它通过后再做我自己的 ajax 表单提交。
类似于这个jQuery位:
$('#form').submit(function(e) {
e.preventDefault();
if (PassesUnobtrusiveValidation()) {
// ajax submit form
}
});
是否有事件或类似的东西(内置于默认的 mvc 3 基于数据注释的客户端验证中 asp.net)我可以挂钩(如示例中的伪装代码)?PassedValidation
我想这样做,这样我仍然可以利用基于数据注释的验证,然后按照我想要的方式异步提交表单。我希望避免在客户端中编写通用验证,让 asp.net mvc 3 为我处理它,然后按照我想要的方式提交表单,使用$.ajax();
答:
6赞
Darin Dimitrov
3/14/2011
#1
如果您使用的是 jquery.validate:
$('#myForm').submit(function() {
if ($(this).valid()) {
// Client side validation passed => submit the form
}
});
另一种可能性是挂钩插件选项:
$.validator.setDefaults({
submitHandler: function(form) {
// Client side validation passed => submit the form
}
});
如果您使用的是 MSAjax,那么祝你好运。
评论
0赞
Chaddeus
3/14/2011
太棒了,我正在使用 jQuery 验证版本。我什至没有想到......谢谢。我会尝试一下,但看起来它应该可以工作!非常感谢。
评论
PassesUnobtrusiveValidation()