Я только начал изучать JS, Jquery и HTML в Интернете. У меня есть вопрос, и я попытался сделать то, что было сказано в ответах на подобные вопросы по SO, но это не поможет.Пользовательская проверка JQuery и HTML5 не работает по назначению
У меня есть форма пароля, которая принимает только входные данные, которые имеют как минимум 6 символов, одну заглавную букву и одно число. Я хочу показать специальное сообщение для проверки, которое могло бы просто сформулировать эти условия снова.
Вот мой HTML код -
<div class="password">
<label for="password"> Password </label>
<input type="password" class="passwrdforsignup" name="password" required pattern="(?=.*\d)(?=.*[A-Z]).{6,}"> <!--pw must contain atleast 6 characters, one uppercase and one number-->
</div>
Я использую JS, чтобы установить пользовательское сообщение проверки.
JS код
$(document).ready(function() {
$('.password').on('keyup', '.passwrdforsignup', function() {
var getPW = $(this).value();
if (getPW.checkValidity() === false) {
getPW.setCustomValidity("This password doesn't match the format specified");
}
});
});
Однако сообщение пользовательские проверки не отображается. Пожалуйста помоги. Огромное спасибо заранее! :)
UPDATE 1
Я изменил шаблон пароля к (?=.*\d)(?=.*[A-Z])(.{6,})
. Основываясь на совете 4castle, я понял, что в моем javascript было несколько ошибок, и соответственно изменил их. Однако пользовательское сообщение проверки еще не отображается.
JavaScript:
$(document).ready(function() {
$('.password').on('keyup', '.passwrdforsignup', function() {
var getPW = $(this).find('.passwrdforsignup').get();
if (getPW.checkValidity() === false) {
getPW.setCustomValidity("This password doesn't match the format specified");
}
});
});
Опять же, чем вы все заранее!
@thisOneGuy, no. 'required' - это флаг, а' pattern' - атрибут. Его можно записать так: 'required =" true "pattern =" blah "'. –
@jsve спасибо, не встретили этого до – thatOneGuy
Измените свой шаблон на '(? =. * \ D) (? =. * [AZ]) (. {6,})', так что есть группа захвата , – 4castle