Я пытаюсь проверить выбор HTML-элемента с помощью плагина jQuery Validate. Я установил для «требуемого» правила значение true, но оно всегда проходит проверку, поскольку по умолчанию выбирается нулевой индекс. Есть ли способ определить пустое значение, которое используется обязательным правилом?
UPD. Пример. Представьте, что у нас есть следующий элемент управления HTML:
<select>
<option value="default">Choose...</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
Я хочу, чтобы плагин валидации использовал значение по умолчанию как пустое.
jquery
jquery-validate
SiberianGuy
источник
источник
Ответы:
Вы можете написать свое собственное правило!
источник
$.validator.addMethod("valueNotEquals", function(value, element, arg){ return return arg != jQuery(element).find('option:selected').text(); }, "Value must not equal arg.");
Здесь было изложено более простое решение: подтвердить выбор
Сделайте значение пустым и добавьте обязательный атрибут
источник
просто установите значение первой опции в пустую строку
value=""
и правило проверки JQuery
required
will work
источник
использовать минимальное правило
установите значение первой опции на 0
источник
Вам нужно только указать в
validate[required]
качестве класса этого выбора, а затем поставить параметр со значением = ""например:
источник
Я не знаю, каким был плагин, когда был задан вопрос (2010), но сегодня я столкнулся с той же проблемой и решил ее следующим образом:
Дайте выбранному тегу атрибут имени. Например, в этом случае
<select name="myselect">
Вместо работы с атрибутом value = "default" в параметре тега отключите параметр по умолчанию или установите значение = "", как это было предложено Andrew Coats
<option disabled="disabled">Choose...</option>
или
<option value="">Choose...</option>
Установите правило проверки плагина
$( "#YOUR_FORM_ID" ).validate({ rules: { myselect: { required: true } } });
или
<select name="myselect" class="required">
Obs: решение Эндрю Коутса работает, только если у вас есть только один выбор в вашей форме. Если вы хотите, чтобы его решение работало более чем с одним выбором, добавьте атрибут name к вашему выбору.
Надеюсь, поможет! :)
источник
required
атрибут к<select>
тегу и добавьтеdisabled
атрибут к первому<option>
тегу (илиselected
атрибуту с атрибутом, если он есть)Вот простой и понятный пример:
JQuery:
источник
выберите значение будет пустым
источник
Все просто, вам нужно получить значение поля Select, и оно не может быть «по умолчанию».
источник
Решение упоминается @JMP работал в моем случае с небольшим изменением: я использую
element.value
вместоvalue
вaddmethod
.Вполне возможно, что у меня есть особый случай, но я не нашел причину. Но решение @ JMP должно работать в обычных случаях.
источник
как подтвердить выбор "Qualifica" он имеет 3 выбора
источник