jquery - 从submitHandler函数中获取jQuery验证器对象

标签 jquery jquery-validate

我尝试从 submitHandler 函数中调用 jQuery 验证 showErrors 函数,而不必像这样保存验证器对象:

var validator = $( "#myshowErrors" ).validate();
validator.showErrors({
    "firstname": "I know that your firstname is Pete, Pete!"
});

有没有办法从 submitHandler 方法中获取验证器对象,如下所示:

$( "#myshowErrors" ).validate({
  submitHandler : function(form) {

    $(form).ajaxSubmit({
      success : function(result) {

        var validator = // Get validator here somehow?
        validator.showErrors(result.fieldErrors);

      }
    });

  }
});

通过这样做,我希望可以在整个项目的多个地方使用相同的 submitHandler 方法。

最佳答案

验证器对象存储在表单元素数据中:

var validator = $.data( form, "validator");

编辑:

事实上验证器也应该存储在this中:

$( "#myshowErrors" ).validate({
  submitHandler : function(form) {
    var validator = this;

    $(form).ajaxSubmit({
      success : function(result) {
        validator.showErrors(result.fieldErrors);
      }
    });

  }
});

关于jquery - 从submitHandler函数中获取jQuery验证器对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18622691/

相关文章:

javascript - Jquery Mobile - "notext"删除按钮图标

javascript - 用 every 和 $.post 关闭

javascript - 模式属性不起作用

javascript - jquery密码验证

jQuery Validate 插件,当表单有效时启用提交按钮

jQuery 验证错误放置和删除元素?

jquery - 验证 jquery 中的复选框是否具有最小限制

jquery - 如何判断一个节点是在内存中还是在 dom 中?

jquery - 需要的想法 : AngularJS: Select Dropdown with several Option Tags

javascript - 带有 jQ​​uery 验证的 RequireJS