Skip to content

Commit

Permalink
update(HTML): web/html/element/input/email (#3620)
Browse files Browse the repository at this point in the history
* update(HTML): web/html/element/input/email

* update(HTML): web/html/element/input/email

* Apply suggestions from code review

Co-authored-by: Alina Listunova <[email protected]>

---------

Co-authored-by: Alina Listunova <[email protected]>
  • Loading branch information
undead404 and alinkedd authored Nov 29, 2024
1 parent 07f4af6 commit c2092d1
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions files/uk/web/html/element/input/email/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@ browser-compat: html.elements.input.type_email

## Додаткові атрибути

На додачу до атрибутів, що працюють в усіх елементах {{HTMLElement("input")}}, незалежно від їхнього типу, поля `email` підтримують наступні атрибути.
На додачу до [глобальних атрибутів](/uk/docs/Web/HTML/Global_attributes) та атрибутів, що працюють на всіх елементах {{HTMLElement("input")}}, незалежно від їхніх типів, поля електронної пошти підтримують наступні атрибути.

> [!NOTE]
> Глобальний атрибут [`autocorrect`](/uk/docs/Web/HTML/Global_attributes/autocorrect) можна додати до полів електронної пошти, проте доступне в ньому значення завжди буде `off`.
### list

Expand Down Expand Up @@ -92,15 +95,15 @@ browser-compat: html.elements.input.type_email
> [!NOTE]
> Крім цього, критично необхідно пам'ятати, що користувач може погратися з вашим HTML за лаштунками, тож ваш сайт _не повинен_ використовувати цю валідацію для жодних потреб безпеки. Ви _повинні_ перевірити адресу електронної пошти на боці сервера, при будь-якій операції, на безпеку якої може повпливати введений текст.
### Просте поле електронної пошти
### Базове поле електронної пошти

Наразі всі браузери, що мають реалізацію такого елемента, реалізовують його як стандартне текстове поле з базовими можливостями валідації. Проте специфікація дозволяє браузерам широкий погляд на це. Наприклад, елемент може бути інтегрований зі вбудованою адресною книгою користувацького пристрою, аби дозволити вибір адрес електронної пошти з її списку. У своєму найбазовішому варіанті поле `email` може бути реалізовано так:

```html
<input id="emailAddress" type="email" />
```

{{EmbedLiveSample('proste-pole-elektronnoi-poshty', 600, 40)}}
{{EmbedLiveSample('bazove-pole-elektronnoi-poshty', 600, 40)}}

Зверніть увагу, що це поле вважається дійсним, коли порожнє, а також коли введена одна коректно відформатована адреса, а інакше – дійсним не вважається. Якщо додати атрибут [`required`](/uk/docs/Web/HTML/Element/input#required-oboviazkovyi), то приймаються лише коректно відформатовані адреси електронної пошти; тоді поле вже не вважається дійсним, коли порожнє.

Expand Down Expand Up @@ -292,7 +295,7 @@ label::after {

![Недійсна адреса електронної пошти в стані помилки зі спливним повідомленням із поля: "будь ласка, введіть адресу електронно пошти".](enter-valid-email-address.png)

Якщо так все й залишити, то буде хоча б валідація коректних адрес електронної пошти. Але хочеться піти іще трохи далі – пересвідчитись, що адреса електронної пошти має форму `[ім'якористувача]@beststartupever.com`. Саме для цього застосуємо [`pattern`](/uk/docs/Web/HTML/Element/input#pattern-patern). Задамо атрибут `pattern` зі значенням `[email protected]`. Цей простий регулярний вираз вимагає рядка, що складається зі щонайменше одного символу будь-якого роду, після якого "@", а потім – доменне ім'я "beststartupever.com".
Якщо так все й залишити, то буде хоча б валідація коректних адрес електронної пошти. Але хочеться піти іще трохи далі – пересвідчитись, що адреса електронної пошти має форму `[ім'якористувача]@beststartupever.com`. Саме для цього застосуємо [`pattern`](/uk/docs/Web/HTML/Element/input#pattern-patern). Задамо атрибут `pattern` зі значенням `[email protected]`. Цей регулярний вираз вимагає рядка, що складається зі щонайменше одного символу будь-якого роду, після якого "@", а потім – доменне ім'я "beststartupever.com".

Зверніть увагу, що це й близько не адекватний фільтр для дійсних адрес електронної пошти: такий регулярний вираз дозволяє штуки роду " @beststartupever.com" (зверніть увагу на пробіл на початку) або "@@beststartupever.com", що геть не є дійсними адресами. Проте браузер запускає над уведеним текстом і стандартний фільтр адрес електронної пошти, _і_ наш власний патерн. Як наслідок, виходить валідація, що має суть "пересвідчитись, що це нагадує дійсну адресу електронної пошти, і якщо це так, то пересвідчитись що це також адреса на beststartupever.com."

Expand Down

0 comments on commit c2092d1

Please sign in to comment.