早上好
我一直在使用jquery验证功能,这很棒。但是,一旦组中的两个(或3个或4个)元素都正确,想知道是否可以将组错误标签清除。例如,如果我在组中有一个空的名字和姓,一旦我输入第一个名字,错误就会消失。我知道我可以禁用onfocusout功能,但我宁愿不这样做。谢谢!
答案 0 :(得分:5)
这确实看起来像jQuery验证中的错误(您可以提交错误here)。要解决它,您可以定义一个非常特定的自定义规则:
$.validator.addMethod("name", function(value, element) {
return $("#firstname").val() !== '' && $("#lastname").val() !== '';
}, "Name is required");
仍然使用groups
功能:
$("form").validate({
groups: {
name: "firstname lastname"
},
firstname: "name",
lastname: "name",
errorPlacement: function(error, $element) {
var name = $element.attr("name");
if (name === "firstname" || name === "lastname") {
error.insertAfter("#name");
} else {
error.insertAfter($element);
}
}
});
自定义规则感觉无法维护和hacky,因为如果您的字段id
发生更改,您的验证将会中断。但是,它确实摆脱了这个问题。
以下是一个示例:http://jsfiddle.net/Rqbws/