Можностей, предоставляемых веб-разработчикам



Pdf көрінісі
бет141/232
Дата06.01.2022
өлшемі5,47 Mb.
#12231
1   ...   137   138   139   140   141   142   143   144   ...   232
Байланысты:
[Bryus Louson, Remi SHarp] Izuchaem HTML5. Bibliot(z-lib.org)

ВАЛИДНОСТЬ ЭЛЕМЕНТОВ
У отдельных полей формы помимо метода 
checkValidity
 есть DOM-атрибут, который 
возвращает объект 
ValidityState
. У объекта валидности есть несколько атрибутов со-
стояния, но самым простым и самым важным из них является атрибут 
valid
. Проверяя 
его значение с помощью JavaScript, вы можете управлять специальной системой валидации 
с обратной связью.
Если мы подключимся к обработчику события отправки нашей формы, мы сможем вруч-
ную просматривать все поля ввода и проверять атрибут валидности. Но что если у поля 
нет правил валидации? Вам повезло: в API есть атрибут 
willValidate
, с помощью кото-
рого мы можем узнать, следует ли проверять это конкретное поле. Приведу пример (слегка 
надуманный):
var email = document.getElementById('email');
if (email.willValidate) {
    if (!email.validity.valid) {
        alert("Yarr, ye old email be invalid");
    }
}
ПРИМЕЧАНИЕ
Следует обратить внимание на то, что у элементов 
 тоже есть атрибут validity, но 
он, к сожалению, ничего не делает: атрибут validity всегда имеет значение true  Для элемента 
 вы также можете вызвать метод checkValidity, но в современных браузерах, под-
держивающих добавление собственной валидации, снова ничего не произойдет 
Если у вас есть состояние валидации отдельного поля формы, вы можете получить све-
дения о специально заданных сообщениях, для которых использовался метод 
element.
validationMessage
, или проверить другие состояния валидации, такие как 
valueMissing

typeMismatch

patternMismatch

tooLong

rangeUnderflow

rangeOverflow

stepMismatch
 
и 
customError
.
Стоит заметить, что очень важно не забывать об отключении встроенных возможностей 
валидации браузера. Добавляя атрибут 
novalidate
 к элементу формы, как вы увидите 
далее, вы отключаете вывод сообщений о валидации, но вам все так же доступен API 
JavaScript, и вы можете спокойно проверять состояние валидности полей. Это означает, 
что в ваших руках по-прежнему находится полный контроль над процессом отображения 
сообщений об ошибках.


Достарыңызбен бөлісу:
1   ...   137   138   139   140   141   142   143   144   ...   232




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет