我希望在表单没有错误时隐藏包含错误的包装器。有人知道如何在我的代码中应用它。
实际上当表格正确填写时。我看过“请填写这些东西”。当有人没有错误时,有人知道如何隐藏它们。
$("#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);
答案 0 :(得分:1)
Your code, as you've posted it, is already showing & hiding the error messages and 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>
答案 1 :(得分:0)
逻辑上,当您重新提交表单时,在检查表单之前,您应该只是隐藏错误消息。
答案 2 :(得分:-1)
在输入您的值时,应检查验证是否将验证函数存储在局部变量中并再次重新检查..确定它应该可以正常工作