Плагин jQuery Validation - Проверка скрытых входов и не видно?
Как я могу проверить скрытые входы и не видимые текстовые входы с плагином проверки правильности jQuery? Проблема в том, что я использую плагин auto-suggest, который генерирует скрытый ввод для выбранных элементов:
<input id="hiddenInput" type="hidden" name="something" value="1" />
У меня есть 2 входа вроде этого (оба из них разрешают только 1 элемент), которые я хочу проверить и отобразить ошибку в родительском <td>
.
Это то, что я получил до сих пор, но он не отображает ошибку или не отправляет форму, если значение действительно является числом.
$("#form1").validate({
rules: {
something: {
number:true,
min:1,
required:true
}
}
})
Ответы
Ответ 1
Чтобы разрешить проверку скрытых элементов, переопределите игнорирование и установите его в пустую строку:
$("#form1").validate({
ignore: "",
rules: {
something: {
number:true,
min:1,
required:true
}
}
});
Ответ 2
Вы можете использовать опцию ignore
следующим образом:
$("#form1").validate({
ignore: "input[type='text']:hidden",
rules: {
something: {
number:true,
min:1,
required:true
}
}
});
Значение по умолчанию ignore
- :hidden
, которое игнорирует все скрытые поля и невидимые поля (display: none
и т.д.)
Ответ 3
Если другие ответы не работают на вас, попробуйте это вместо этого. Он удаляет все игнорирования для формы, поэтому он будет проверять все, включая скрытые поля:
$.data($('form')[0], 'validator').settings.ignore = "";
Чтобы восстановить параметры, чтобы игнорировать скрытые поля, используйте что-то вроде этого:
$.data($('form')[0], 'validator').settings.ignore = "input[type='text']:hidden";
Вы также можете использовать приведенный выше код для считывания текущего значения.
Ответ 4
Другим способом проверки скрытых входов является следующее:
$("#form1").validate({
ignore: "not:hidden",
rules: {
something: {
number:true,
min:1,
required:true
}
}
});