2017-06-16 63 views
0

输入值的所有错误消息消失,我有以下的jQuery验证表单。当一个文本框

  1. 当我没有输入任何值提交表单时,它显示错误消息。但是当我在“金额”文本框中输入值时,这两个错误消息都消失了。

  2. 而且,在那之后,当我在金额文本明确的价值,只显示“金额”的错误消息,直到我按一下按钮。

如何解决这个问题?

Fiddle

enter image description here

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 "<li>" + error.message+ "</li>"; 
    }); 

    $('#errorSummaryList').html(errorListResult.join('')) 
    $('#errorSummaryList').fadeIn('fast'); 

    //Show error adjuscent to control also 
    //this.defaultShowErrors(); 
    }, 
    submitHandler: function (form) { 
    return false; 
    } 
}); 
+0

其他参考资料:https://stackoverflow.com/questions/3683104/change-location-of-jquery-validation-plugin-error-message?rq = 1 – Lijo

回答

1

所有错误消息消失当在一个文本框输入值

the documentation for showErrors

的参数包含那些元件目前验证,其可以是单个元件focusoutkeyup做验证onblur时。

如您所见,showErrors选项按设计工作。消息的新map新的验证完成后不保留以前的消息。如果一个字段被验证,那么该地图仅包含该字段的消息等。

只使用wrapper and errorLabelContainer选项,它们一起使用时,被设计为自动保留整个表单的待处理消息的更新列表...

wrapper: "li", // <- the LABEL will be inside of this 
errorLabelContainer: "#errorSummaryList", // <- your UL element 

DEMO:jsfiddle.net/y9o8du3q/

相关问题