0

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

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

$("#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);
4

3 回答 3

1

正如您发布的那样,您的代码已经显示和隐藏错误消息和 container。您必须更好地解释您要在这里实现的目标。


你从来没有解释过你为什么在你的代码中使用highlight和。errorPlacement仅基于您的 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>
于 2013-02-23T14:49:49.300 回答
0

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

于 2013-02-23T13:02:26.750 回答
-1

在输入您的值时,它应该检查验证意味着将您的验证函数存储在局部变量中并再次重新检查..确保它应该工作

于 2013-02-23T13:49:52.233 回答