Пользовательские валидаторы jQuery - PullRequest
0 голосов
/ 14 ноября 2011

Я использую плагин проверки jQuery и ищу какую-то собственную логику. У меня есть ряд флажков, с которыми связаны дочерние флажки. Для некоторых (не всех) этих родительских флажков я хочу требовать, чтобы один из дочерних флажков был установлен. У меня нет проблем с жестким кодированием для этого, поэтому я добавил в DOM поле, подобное этому:

<input type="hidden" id="child_required_1" class="child_required_1" />

И затем добавление пользовательского валидатора, такого как:

jQuery.validator.addMethod('child_required_1', function(val, element) {
if($('#product_responses_1').length > 0) {
    if($('#product_responses_1').is(':checked')) {
        var count = $("input:checkbox:checked[id^='children_tags_1_']").length;

        if(count == 0) {
            return false;
        }
    }
}

return true;
}, 'You must select at least one child.');

Это прекрасно работает. Но когда я дублирую все это и добавляю «_2», кажется, срабатывает только один из валидаторов. Итак, из чего я могу сделать вывод, что пользовательские валидаторы уникальны для каждой формы? Если это так, то как мне справиться с такой ситуацией, когда мне может понадобиться 15-20 из них, показанных в разных местах? Я не хочу просто показывать одну ошибку.

Я также мог бы создать правило класса, но это не решило бы мою проблему создания нескольких меток ошибок и размещения их в соответствующих позициях.

1 Ответ

0 голосов
/ 15 ноября 2011

Очевидно, что наличие его в скрытом поле не сработало, но когда я удалил скрытые поля и применил этот класс к самим флажкам, все заработало нормально. Не совсем уверен, почему.

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