14

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

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在整个项目的多个地方使用相同的方法。

4

1 回答 1

20

Validator 对象存储在表单元素数据中:

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

编辑:

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

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

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

  }
});
于 2013-09-04T20:58:07.097 回答