我正在尝试使用jquery.validation插件创建验证摘要。
到目前为止我所拥有的是:
// Validate order form before submitting it
$('.order-material-form').validate({
onkeyup: false,
onclick: false,
showErrors: function (errorMap, errorList) {
$.each(errorList, function () {
var element = this.element;
var labelText = $(element).prev('p').find("label").text();
var error = this.message;
errorSummaryList.append($("<li>").text(labelText + ": " + error));
errorSummaryList.fadeIn('fast');
});
this.defaultShowErrors();
},
highlight: function (element, errorClass) {
$(element).css({ "border": "1px solid #ff0000", "color": "#ff0000" });
},
unhighlight: function(element, errorClass) {
$(element).css({ "border": "1px solid #555555", "color": "#555555" });
},
errorPlacement: function() {}
});
这会将错误放在我的errorSummaryList
(这是一个无序列表)中,但由于它设置为将错误附加到摘要列表,因此如果/当用户时,它会一遍又一遍地添加相同的错误消息切换输入等。
我有一种奇怪的感觉,这不是使用jquery.validation插件创建摘要的正确方法。
有谁知道怎么做?
提前致谢:)
答案 0 :(得分:1)
试试这个:
showErrors: function (errorMap, errorList) {
var errorLiArray = $.map(errorList, function(error){
var labelText = $(error.element).prev('p').find("label").text();
return "<li>" + labelText + ": " + error.message+ "</li>";
});
errorSummaryList.html(errorLiArray.join(''))
errorSummaryList.fadeIn('fast');
this.defaultShowErrors();
},