我想使用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"});
但它仍然只显示第一个错误。
任何想法使用正确的格式来显示多个错误
答案 0 :(得分:3)
所以看起来正确的格式是
validator.showErrors({ "Id": ["I know that your firstname is Pete", "test2" ]});
不幸的是第二个错误显示在第一个错误旁边,所以我的下一个问题是找到一种更好的格式化方法。