jquery验证程序:何时清除自定义错误图标

jquery验证程序:何时清除自定义错误图标,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jQuery验证程序验证用户输入。我试图弄清楚什么时候应该清除显示在无效元素旁边的自定义错误图标。下面发布的代码不断追加错误图标。我试图在淋浴错误事件中清除它,但没有运气 $("#form1").validate({ onfocusout: false, onKeyUp: false, rules: { txtDate:{

我正在使用jQuery验证程序验证用户输入。我试图弄清楚什么时候应该清除显示在无效元素旁边的自定义错误图标。下面发布的代码不断追加错误图标。我试图在
淋浴错误事件中清除它,但没有运气

 $("#form1").validate({
                onfocusout: false,
                onKeyUp: false,

                rules: {

                 txtDate:{
                    required: true
                 },
                 txtType:{                   
                      required: true
                 },
                 ddlTime:{                   
                      required: true
                 }
               },
               messages: {
                ddlTime: {                   
                      required: "Please select an option for Time"
                 },
                 txtDate:{
                    required: "<br>Please enter valid date"
                 },
                 txtType: {                   
                      required: "<br>Please Enter valid type"
                 }
               },
               errorPlacement: function(error, element) {
                    error.wrap("<li></li>").appendTo($("#dvErrorSummary")); 
                    $('<div class="errorIcon"></div>').insertAfter(element);
                  }
             }); 
这是我的HTML的外观:

<body>
<html>
<head runat="server"></head>

        <form id="form1" runat="server">

            <ul id="dvErrorSummary" name="dvErrorSummary" class="errors"></ul>

             <select id="ddlTime" name="ddlTime" </select>
             <input id="txtDate" name="txtDate" />
             <input id="txtType" name="txtType" />

       </form>
</body>
</html>


    这就是您要添加错误消息容器的部分

    errorPlacement: function(error, element) {
                        error.wrap("<li></li>").appendTo($("#dvErrorSummary")); 
                        $('<div class="errorIcon"></div>').insertAfter(element);
                      }
    
    errorPlacement:函数(错误,元素){
    error.wrap(“
  • ”).appendTo($(“#dvErrorSummary”); $('')。插入后面(元素); }

    仅当值小于1时,可以使用检查长度属性以插入errorIcon。

    这是我为解决此问题所做的操作:)

    jQuery.extend(jQuery.validator.messages{
    必需:“”
    });
    

    我试着用上面的方法,但我太多了,以至于意识到这不可能是正确的。希望这有帮助:)

    这就是诀窍所在,您可以将此div包装在另一个具有特定id或类的特定div周围,并在特定消息中将其设置为零。顺便说一句,你有你的网页链接吗。我明白你在说什么。这将帮助我停止添加多个错误图标。但是,如果输入有效,我如何清除它?在这种情况下,您编写代码时,我们不需要执行任何操作,因为此条件仅适用于长度>1的情况,其他情况下,此项将使用$('')。insertAfter(元素),你已经在你的代码感谢你的帮助。我明白了。最终使用了高光和非高光事件,长度条件在那里工作得很好。
    errorPlacement: function(error, element) {
                        error.wrap("<li></li>").appendTo($("#dvErrorSummary")); 
                        $('<div class="errorIcon"></div>').insertAfter(element);
                      }
    
    jQuery.extend(jQuery.validator.messages, {
        required: '<i class = "icon-exclamation-sign"></i>'
    });