Input type email pattern

В статье рассмотрим некоторые кейсы, связанные с полем email, и подберем шаблон для проверки <input type=email> поля.

Немного теории. Атрибут pattern тега input позволяет использовать регулярные выражения для быстрой валидации значения поля. Результатом валидации поля является присвоение контейнеру input псевдо-классов :valid и :invalid.

Рассмотрим следующий шаблон:

И стиль :invalid

Результат очевиден: eсли поле содержит значение не подходящее шаблону, поле получит красную рамку.

Шаблон не плох, но поле изначально будет иметь статус :invalid, т.к. не учтен кейс, когда значение поля не задано. Также не удобно, что валидация срабатывает сразу, до какой либо активности со стороны пользователя.

Если первое замечание довольно легко поправить, то второе можно реализовать только с дополнительной js обвязкой.

Реализуя первое замечание, приведу еще один вариант шаблона, который мне больше нравится из за своей краткости:

Он менее строгий; а пустое значение — валидное. Очевидно, что приведенные фильтры не соответствует строго спецификациям. А также если поле имеет признак required, то пустое значение всё равно будет расцениваться на :invalid.

Мало букафф? Читайте есчо !

Как получить строку из R.string по имени

Ноябрь 30, 2022 г.

В общем случае, когда вы находитесь в контексте Activity, это выглядит так: [crayon-6933e2662054d643974223/] При этом вызов getResources() в этом контексте и необязателен, т.е. работает и так: [crayon-6933e2662055b883185131/] Если вы находитесь ...

Читать

Увеличить timeout в Mocha

Январь 5, 2023 г.

Тайм-аут, установленный в мокке по умолчанию равен 2сек, чего вполне достаточно для большинства тестов. Если вам не хватает, то используйте при вызове дополнительный параметр --timeout, время задаётся в мс, например, 10 секунд: [crayon-6933e26620775696422211/] ...

Читать

Перебор изображений R.drawable

Ноябрь 21, 2022 г.

Рассмотрим как организовать перебор коллекции ресурсов в Kotlin на примере R.drawable. Типичная задача заключается в том, чтобы отфильтровать элементы коллекции по имени и вернуть список целочисленных идентификаторов, соответствующих вашим критериям. ...

Читать

Рихтуем вывод полей во flamingo CF7

Апрель 12, 2023 г.

Пользуюсь flamingo для протоколирования отправленных данных через Contact Form 7. Очень не удобно, что ссылки и сохраненные файлы выводятся как plain text. Но, мы это сейчас исправим! Поля flamingo выводит через функцию форматирования, которая ...

Читать
 

Комментарии к «Input type email pattern»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: