jQuery验证插件:将元素添加到/从元素的错误容器中删除

前端之家收集整理的这篇文章主要介绍了jQuery验证插件:将元素添加到/从元素的错误容器中删除前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用jQuery验证插件,我写了以下代码,如果不是有效的话,将元素的(< input>)父(< label>)添加到一个类,以及插入实际的错误元素(< span>)之前的< br&gt ;. HTML
<label>
    text<br><input>
</label>

…和jQuery.

$("#form_to_validate").validate({
    rules: {
    ...
    },errorElement: "span",errorPlacement: function(error,element) {
        element.parent().addClass('error');
        error.insertBefore(element.parent().children("br"));
    }
});

所以,如果一个表单元素不验证,它变成:

<label class="error">
    text<span>error text</span><br><input>
</label>

但是,如果一个字段的内容被更正并变得有效,那么这个工作很好,类显然不会从父进程中删除(实际上,这个错误元素也不会被显示:none; CSS属性).如何检查元素是否有效并删除父类

任何帮助将不胜感激 !

已编辑:添加更多信息.

解决方法

经过一些更加沉重的挖掘,我发现答案在我的鼻子下,但不幸的是对我来说,很隐蔽.该插件具有内置的突出显示功能(惊喜,惊喜).通常它会突出显示/取消高亮显示元素,但可以轻松地将其转换为在元素的父项上工作:
$("#form_to_validate").validate({
    rules: {
    ...
    },element) {
        error.insertBefore(element.parent().children("br"));
    },highlight: function(element) {
        $(element).parent().addClass("error");
    },unhighlight: function(element) {
        $(element).parent().removeClass("error");
    }
});

我希望这会帮助别人!

猜你在找的jQuery相关文章