在一个文本框中输入值时,所有错误消息都会消失
我有以下表格与jqueryvalidation。
-
当我提交表单而不输入任何值时,它会显示错误消息。 但是当我在“Amount”文本框中输入值时,两个错误消息都消失了。
-
此外,在此之后,当我清除Amount文本框中的值时,只有“Amount”错误消息才会显示,直到我单击该按钮。
如何解决这个问题?
小提琴
jQuery代码
$("#formAddPayment").validate({ rules: { "ddlModeOfPayment": { required: true }, "txtAmount": { required: true } }, messages: { "ddlModeOfPayment": { required: "Please select Mode of Payment." }, "txtAmount": { required: "Please enter Amount." } }, showErrors: function (errorMap, errorList) { var errorListResult = $.map(errorList, function(error){ return "" + error.message+ " "; }); $('#errorSummaryList').html(errorListResult.join('')) $('#errorSummaryList').fadeIn('fast'); //Show error adjuscent to control also //this.defaultShowErrors(); }, submitHandler: function (form) { return false; } });
在一个文本框中输入值时,所有错误消息都会消失
从showErrors
的文档 :
参数仅包含当前validation的元素 ,在
focusout
或focusout
上进行validation时可以是单个元素 。onblur
如您所见, showErrors
选项按设计工作。 新validation完成后,新的消息map
不会保留先前的消息。 如果validation了一个字段,则映射仅包含一个字段的消息等。
只需使用wrapper
和errorLabelContainer
选项,这些选项在一起使用时,旨在自动保留整个表单的待处理消息的更新列表……
wrapper: "li", // <- the LABEL will be inside of this errorLabelContainer: "#errorSummaryList", // <- your UL element
演示: jsfiddle.net/y9o8du3q/