html输入没有清除jquery验证

时间:2011-06-12 19:58:14

标签: jquery validation

当该元素变空时,我遇到了从HTML输入中删除类的问题。

请参阅:http://jsfiddle.net/GgFXs/4/

这会在一瞬间发生,或者如果您在字段中按住退格按钮。 在此之后的任何时间,该领域都会进行“有效”课程 - 为什么?以及如何解决?

2 个答案:

答案 0 :(得分:2)

你的逻辑很复杂。您偶尔会遇到同时应用.valid.invalid的不良情况。试试这个:

$(function() {
    $('form').validate();
    $('input').bind('input', function() {
        if ($(this).val() != '') $(this).addClass('nonEmpty');
        else $(this).removeClass('nonEmpty');

        if ($(this).valid()) $(this).addClass('valid');
        else $(this).removeClass('valid');
    });
});

.nonEmpty {background: #E4CCCC;}
.nonEmpty.valid {background: #9BCC60;}

答案 1 :(得分:1)

您将Validation插件中的功能与您自己的代码混合在一起。您可以删除valid className,但如果Validation插件认为该字段有效,则会将其添加回来。

如果您希望Validation插件拒绝空白字段,则必须提供class="required"。如果您想要手动监视,添加和删除类,那么您并没有真正使用Validation插件作为预期的IMO。