如何在表单级服务器端验证中使用jQuery Validation插件?

use*_*715 12 javascript validation jquery jquery-validate

在表单通过初始客户端验证后返回的服务器端验证错误的元素触发错误的最佳方法是什么?

$("#contact_form").validate({
  submitHandler: function(form) {
    $.ajax({
      type: 'POST',
      dataType: 'json',
      url: '/contact/send',
      data: $(form).serialize(),
      success: function(response) {
        if(response.error) { //server came back with validation issues
          var fields = response.fields;
          for(var i=0, var len = fields.length; i < len; i++) {
            var field_name = fields[i].name;
            var field_error = fields[i].error;

            // TRIGGER ERROR ON AFFECTED ELEMENT

          }
          return false;
        }
        //everything went ok, so let's show a thanks message
        showThanks();
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

我想的是:

$(form).find("[name='" + field_name + "']").triggerError(field_error);
Run Code Online (Sandbox Code Playgroud)

但我没有看到任何以这种方式手动触发错误的api方法.

use*_*715 15

我想我从Validator/showErrors的文档中找到了它

var validator = $("#contact_form").validate();
validator.showErrors({"state": "Bad state."});
Run Code Online (Sandbox Code Playgroud)