JQuery Validation плагин minLength для флажков - PullRequest
4 голосов
/ 29 июня 2009

это мой первый пост здесь на stackoverflow и я очень впечатлен сайтом!

Мой вопрос о плагине jQuery Validation ... конкретно о методе minLength. У меня есть группа флажков, и я хочу знать, были ли отмечены хотя бы 2 поля.

http://docs.jquery.com/Plugins/Validation/Methods/minlength#length

по этой ссылке есть документация о методе minLength, который используется с обычным полем ввода, но не с флажком. Может кто-нибудь помочь мне, как использовать, если для флажков?

Заранее спасибо,
Йен Маккалоу

Ответы [ 3 ]

2 голосов
/ 30 июня 2009

Нет метода по умолчанию. К счастью, вы можете добавить его.

jQuery.validator.addMethod('has2selected',function(value, element) {
return $(element).filter(':checked').length >= 2;
}, 'the error message');

РЕДАКТИРОВАТЬ: я снова прочитал документацию, и длина должна работать (если это не так, вышеуказанный код может сделать работу). Вы не опубликовали код, поэтому я не уверен, что это является причиной ошибки, но в вашем сообщении minLength должно быть minlength .

1 голос
/ 30 июня 2009

Я не знаю о плагине проверки jQuery, но я думаю, вы могли бы сделать что-то вроде:

if($('.myCheckBoxes :checked').length > 2) {
   alert('at least two have been checked');
}

при условии, что ваши флажки имеют класс myCheckBoxes

или что-то вроде:

if($("input[type='checkbox'] :checked").length > 2) {
   alert('at least two have been checked');
}
0 голосов
/ 30 июня 2009

Не используется для флажков. Понятие «длина» относится к длине строки. Вам нужно будет создать пользовательский метод проверки , чтобы получить желаемое поведение, или, возможно, сделать что-то необычное с выражениями зависимостей в required.

Ответ karim79 - это начало того, что вам нужно добавить в пользовательский метод проверки. (Состояние, а не предупреждение.)

...