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



Pdf көрінісі
бет138/232
Дата06.01.2022
өлшемі5,47 Mb.
#12231
1   ...   134   135   136   137   138   139   140   141   ...   232
Рис . 3 .13 .
 Так в Opera выглядит стандартное сообщение об ошибке в адресе (слева)  
и наше специальное сообщение для дня «разговариваем как злобные пираты» (справа)
К сожалению, на сегодняшний день только Opera в полной мере поддерживает эту воз-
можность. В действительности, неясно даже, должно ли событие 
submit
 срабатывать при 
недопустимом содержимом поля. Может быть, нужно прослушивать событие 
invalid
 для 
элемента? Но если мы задаем специальное сообщение об ошибке, поле остается в состоя-
нии «недопустимо» даже после того, как ошибка исправлена. Таким образом, проверка на 
допустимость повторяется, и на второй раз специальное сообщение удаляется — но для 
этого пользователю приходится дважды нажимать на кнопку отправки данных, хотя он 
всего лишь исправил ошибку.
Получается, что единственный правильный способ задания специального сообщения об 
ошибке заключается в том, чтобы проверять валидность данных в поле при любом нажатии 
клавиши. Лично мне кажется странной необходимость опрашивать элемент 
input
, однако, 
в каком-то смысле, он работает так же, как псевдоселектор CSS 
:invalid
. Итак, мы можем 
отредактировать предыдущий пример кода:
custom validity





Однако если вас не устраивает то, как работают специальные сообщения валидации, 
вы можете задать поведение вашей валидации так, чтобы оно соответствовало вашему 
приложению. Когда вы запускаете 
setCustomValidity
, метод создает DOM-атрибут 
validationMessage
, доступный только для чтения. Это можно использовать для управле-
ния валидацией, о чем мы и поговорим в следующем разделе.
Кстати, если вы предпочитаете писать код разметки, ориентированный на одного произ-
водителя браузера, то можете переопределять сообщения об ошибках в Firefox, применяя 
уникальный атрибут 
x-moz-errormessage
:



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




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

    Басты бет