验证消息未清除,可能有什么问题

Validation message not clearing, what can be wrong

使用jquery.validate.js。我的重设密码表单有一个小技术问题。

验证运行良好。在 submitHandler 之前获得规则 + 消息。

每条消息都直接发送到我的

<span class="help-block" id="error"></span>

位于每个输入框下方。因此,如果我输入任何错误,我会在这些框下方收到实时错误消息。

问题: 如果我正确输入所有内容,将不会显示任何错误消息。我获得了成功和新密码。这个不错。

但是,如果我在打字时失败,但后来更正了它,并成功地创建了新密码,我仍然会在上面的 span 帮助块中收到 "old" 错误。即使一切都成功了。

想象一下我有这个:

        $("#form-reset").validate(
        {
            rules:
            {   
                pass:  { required: true}
            },
            messages:
            {   pass: { required: dsaj jfaio daijo djaio}

            },
            /*AND HERE THE HELP-BLOCK TO GIVE CLIENT INFO*/
            {
            },
            /* here the submitHandler*/
            submitHandler: submitFormReset 
        }); 

        /* submitHandler kick off this function */ 
        function submitFormReset()
        {  
             /* At this point I would like to turn off validation*/
        }

我试图删除上述函数中帮助块上的 class 和 id。它将删除信息文本,但由于输入框变为红色(如果失败)和绿色(如果成功)即使成功,我仍然遇到红色问题。所以我想我现在需要 'turn off' 验证。如果可以的话...

我明白了。我在这里写答案,也许它可以帮助别人。在提交处理程序之后,我用表单做一些事情。

例如我使用

       $('#formZ')[0].reset();

如果我删除它,表单在成功后就不会再做奇怪的事情了。我不确定为什么这会违反 jquery 验证器,但我想我只需要跳过上面的重置即可。

汉斯