如何在没有错误时隐藏jQuery Validate错误容器?

时间:2013-02-23 12:56:06

标签: jquery jquery-validate

我希望在表单没有错误时隐藏包含错误的包装器。有人知道如何在我的代码中应用它。

实际上当表格正确填写时。我看过“请填写这些东西”。当有人没有错误时,有人知道如何隐藏它们。

$("#contactForm").validate({
    errorLabelContainer: $("#contactAlert ul"),
    errorElement: 'li',
    rules: {

    },
    messages: {
      },
    highlight: function (error, element) {
        $("#contactAlert").removeClass('hide');
    },
    errorPlacement: function (error, element) {
        this.labelContainer.append(error);
    }
});
// call valid to see errors
var valid = $("#contactForm").valid();

console.log(valid);

3 个答案:

答案 0 :(得分:1)

Your code, as you've posted it, is already showing & hiding the error messages and container。你必须更好地解释你在这里想要实现的目标。


您从未解释过为什么在代码中使用highlighterrorPlacement。仅基于您的OP,没有理由超越这两个回调函数。

默认情况下,该插件已经执行了您想要的操作...错误会自动显示&隐。在演示中,我为你的包装器着色,以显示当错误消失时它不显示。

工作演示(使用您的容器):http://jsfiddle.net/eVax5/

<强>的jQuery

$(document).ready(function () {

    $("#contactForm").validate({
        errorLabelContainer: $("#contactAlert ul"),
        errorElement: 'li',
        rules: {
            // rules
        }
    });

});

<强> HTML

<form id="contactForm">
    ...
</form>

<div id="contactAlert">
    <ul></ul>
</div>

以及“默认”示例:http://jsfiddle.net/Y6HTz/

<强>的jQuery

$(document).ready(function () {

    $("#contactForm").validate({
        // other options,
        rules: {
            // rules
        }
    });

});

<强> HTML

<form id="contactForm">
    ...
</form>

答案 1 :(得分:0)

逻辑上,当您重新提交表单时,在检查表单之前,您应该只是隐藏错误消息。

答案 2 :(得分:-1)

在输入您的值时,应检查验证是否将验证函数存储在局部变量中并再次重新检查..确定它应该可以正常工作