jquery validate - 组及其标签

时间:2011-06-15 12:29:17

标签: jquery jquery-validate

早上好

我一直在使用jquery验证功能,这很棒。但是,一旦组中的两个(或3个或4个)元素都正确,想知道是否可以将组错误标签清除。例如,如果我在组中有一个空的名字和姓,一旦我输入第一个名字,错误就会消失。我知道我可以禁用onfocusout功能,但我宁愿不这样做。谢谢!

1 个答案:

答案 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/