jquery validate - группы и их метки - PullRequest
3 голосов
/ 15 июня 2011

Доброе утро

Я уже некоторое время использую функцию проверки jquery, и это здорово.Тем не менее, интересно, можно ли очистить метку групповой ошибки только после того, как ОБА (или 3 или 4) элемента в группе верны.Например, если у меня есть пустое имя и фамилия в группе, ошибка исчезнет, ​​когда я введу только имя.Я знаю, что могу отключить функцию onfocusout, но я бы не хотел.Спасибо!

1 Ответ

5 голосов
/ 15 июня 2011

Это действительно похоже на ошибку в jQuery validate (вы можете отправить сообщение об ошибке здесь ).Чтобы обойти это, вы можете определить очень специфическое пользовательское правило:

$.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);
        }
    }
});

Это пользовательское правило кажется неприемлемым и хакерским, так как есливаше поле id s изменится, ваша проверка будет нарушена.Тем не менее, это избавляет от проблемы.

Вот пример: http://jsfiddle.net/Rqbws/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...