我希望能够使用内置的、基于数据注释的客户端非侵入性验证,但在我知道它通过后进行我自己的 ajax 表单提交。
像这样的 jQuery 位:
$('#form').submit(function(e) {
e.preventDefault();
if (PassesUnobtrusiveValidation()) {
// ajax submit form
}
});
是否有一个 PassedValidation
事件或类似的事件(内置于默认的基于 asp.net mvc 3 数据注释的客户端验证中)我可以 Hook (如示例)?
我想这样做,这样我仍然可以利用基于数据注释的验证,然后按照我想要的方式异步提交表单。我希望避免在客户端编写常见的验证,让 asp.net mvc 3 为我处理它,然后使用 $.ajax();
最佳答案
如果您使用jquery.validate:
$('#myForm').submit(function() {
if ($(this).valid()) {
// Client side validation passed => submit the form
}
});
另一种可能性是 Hook 插件 options :
$.validator.setDefaults({
submitHandler: function(form) {
// Client side validation passed => submit the form
}
});
如果您正在使用 MSAjax,那么祝您好运。
关于jquery - 是否可以 "hack into"ASP.NET MVC 3 支持的非侵入式验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5295412/