0
我有一个表格,只有数字验证的文本框。错误显示在jQueryUI模式窗口中。但是,当在文本框中输入非数字时,我最终会多次出现相同的错误消息。而我输入的非数字值越多,我得到的重复数就越多。任何建议将不胜感激。验证文本框中的数字与jQuery验证
这里是初始验证
这里是验证部分固定
这里是验证消息时,我输入一个非数字的值。注意多个Please enter only digits
消息。
这里是代码。
var valForm = function(kit_id) {
var form = $("#frm_" + kit_id);
var strErrors = "<ul>";
form.validate({
errorClass: "error-class",
errorElement: "div",
errorPlacement: function(error, element) {
console.log(error);
strErrors += "<li>" + error[0].innerHTML + "</li>";
$("#error_modal").html("");
$("#error_modal").html(strErrors + "</ul>");
}
});
form.find('input[name^="kit_name_"]').each(function() {
$(this).rules("add", {
required: true,
messages: {
required: "Please enter a name."
}
})
});
form.find('input[name^="kit_desc_"]').each(function() {
$(this).rules("add", {
required: true,
messages: {
required: "Please enter a description."
}
});
});
form.find('input[name^="kit_qty_"]').each(function() {
$(this).rules("add", {
required: true,
digits: true,
messages: {
required: "Please enter a quantity."
}
});
});
if (! form.valid()) {
$("#error_modal").dialog().siblings(".ui-dialog-titlebar").remove();
strErrors = "";
} else {
form.submit();
}
};
每次调用'errorPlacement'函数时,都会将当前错误附加到'strErrors'。没有任何东西能够从中去除旧的错误,所以它只是增长和增长。 – Barmar
在jqueryvalidation.org网站上查看此示例:http://jqueryvalidation.org/files/demo/errorcontainer-demo.html – Barmar