jquery validate显示多个错误

时间:2012-11-28 10:52:29

标签: jquery json jquery-validate

我想使用jquery validate来显示从服务器返回的一些错误。

我正在使用validator.showErrors()方法来执行此操作。

我可以根据示例here使用该方法。

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

我想要实现的是对于相同或不同的字段有2个或更多验证错误。根据文档,这是可能的

  

显示指定的消息。键必须引用的名称   元素,显示这些元素的值,使用   配置错误放置。

     

参数:

     

错误Object<String, String>        一个或多个键/值对   输入名称和消息。

查看showErrors方法,显示以下内容:

    showErrors: function(errors) {
        if(errors) {
            // add items to error list and map
            $.extend( this.errorMap, errors );
            this.errorList = [];
            for ( var name in errors ) {
                this.errorList.push({
                    message: errors[name],
                    element: this.findByName(name)[0]
                });
            }
            // remove items from success list
            this.successList = $.grep( this.successList, function(element) {
                return !(element.name in errors);
            });
        }
        this.settings.showErrors
            ? this.settings.showErrors.call( this, this.errorMap, this.errorList )
            : this.defaultShowErrors();
    }

我尝试了以下内容:

validator.showErrors({ "Id": "I know that your firstname is Pete, Pete!" },{ "Id":"test2"});

但它仍然只显示第一个错误。

任何想法使用正确的格式来显示多个错误

1 个答案:

答案 0 :(得分:3)

所以看起来正确的格式是

validator.showErrors({ "Id": ["I know that your firstname is Pete", "test2" ]});

不幸的是第二个错误显示在第一个错误旁边,所以我的下一个问题是找到一种更好的格式化方法。