Я использую этот плагин проверки jQuery (jquery-validate) в сочетании с Bootstrap, и я уже сделал 5 форм с ним и с большим трудом.
Теперь у меня есть этот JSFiddle, но мое поле пароля ведет себя странно...
Как видите ли, я установил правило required
для пароля, как и для всех. Если я удалю все маркеры в своем браузере и перейду к следующему полю, оно останется нетронутым, если оно уже помечено как правильное, оно останется правильным, если вообще не помечено, останется без пометки. Оно не помечено как неправильное, и сообщение об ошибке не появляется!
Я могу получить сообщение об ошибке правила required
, только если сначала создам ошибку minlength
в поле пароля, а затем затем удалю все символы, или нажав кнопку отправки ( доступно, только если все поля не находятся в состоянии ошибки).
После долгих проверок я нашел вариант onfocusout
. Это может быть либо true
, либо false
, по умолчанию установлено значение true
. Как указано на веб-сайте,
[Это] Проверка элементов [s] (кроме флажков/переключателей) при размытии. Если ничего не введено, все правила пропускаются, за исключением случаев, когда поле уже было помечено как недействительное.
Это наверняка было причиной, подумал я. Но после долгого гугления выяснилось, что такой проблемы больше ни у кого не было (по крайней мере, из-за правила onfocusout
). В одном посте упоминалось, что «правило required
является исключением» (из правила onfocusout
?).
Итог: Я не могу заставить мою ошибку правила required
работать, за исключением отправки или первого создания сообщения об ошибке minlength
. Тогда она появляется.
Вывод. Ошибка может быть выдана, но не на blur
.
Вопрос. Как это исправить?
Поле ввода моего пароля
<input type="password" class="form-control" id="passw" name="passw" value="nochange" maxlength="20" required="required" placeholder="123456789" />
Мои правила пароля
passw: {
required: true,
minlength: 5,
maxlength: 20
},
Я добавил console.log
сообщений, когда ошибка должна была быть размещена - даже не вызвана. Я проверил свой код и HTML, перепроверил все три раза, но до сих пор не могу найти ошибку...