jquery - 是否可以 "hack into"ASP.NET MVC 3 支持的非侵入式验证?

标签 jquery validation asp.net-mvc-3 data-annotations unobtrusive-javascript

我希望能够使用内置的、基于数据注释的客户端非侵入性验证,但在我知道它通过后进行我自己的 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/

相关文章:

jquery - jquery 可以在 iphone 的 safari 上运行吗?

ajax - 来自 Managedbean 的 primefaces 红框验证

asp.net-mvc - 从 Controller 的 catch 中向 ajax 调用发出错误

asp.net - 将附加参数传递给自定义成员(member)资格提供商的 ValidateUser()

asp.net-mvc-3 - 使用 asp mvc 3、nhibernate 3.2 和 spring.net 1.3.2 没有 Hibernate Session 绑定(bind)到线程异常

javascript - 更新后焦点丢失

jQuery 选择器 - 按速度顺序

javascript - 使用 Jquery 或 Javascript 解析嵌套的 Yodlee JSON feed

java - 根据 Struts2 操作中调用的操作方法定义不同的验证

javascript - 如何在js中的一个函数中验证多个字段