Перейти к содержимому

25. Form Validation

Иллюстрация к уроку В этом уроке мы рассмотрим, как использовать встроенные возможности HTML для валидации форм. Валидация форм позволяет проверять данные, введенные пользователем, прямо в браузере, прежде чем они будут отправлены на сервер, что повышает удобство использования и снижает нагрузку на сервер.

Валидация форм – это процесс проверки данных, введенных пользователем в форму, на соответствие определенным критериям. Например, проверка, что поле “email” содержит корректный адрес электронной почты, или что поле “пароль” содержит не менее 8 символов. HTML предоставляет несколько атрибутов, которые позволяют легко реализовать базовую валидацию на стороне клиента.

HTML5 предоставляет ряд атрибутов, которые можно добавить к элементам формы для валидации:

  • required: Поле обязательно для заполнения.
  • minlength и maxlength: Минимальная и максимальная длина текста.
  • min и max: Минимальное и максимальное числовое значение.
  • type: Определяет тип данных, которые должны быть введены (например, email, number, url).
  • pattern: Регулярное выражение для проверки формата данных.

1. Обязательное поле:

<form>
<label for="name">Имя:</label><br>
<input type="text" id="name" name="name" required><br><br>
<input type="submit" value="Отправить">
</form>

В этом примере поле “Имя” помечено как обязательное с помощью атрибута required. Если пользователь попытается отправить форму, не заполнив это поле, браузер отобразит сообщение об ошибке.

2. Валидация email:

<form>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" required><br><br>
<input type="submit" value="Отправить">
</form>

Здесь используется type="email". Браузер автоматически проверяет, что введенное значение соответствует формату электронной почты.

3. Минимальная длина пароля:

<form>
<label for="password">Пароль:</label><br>
<input type="password" id="password" name="password" minlength="8" required><br><br>
<input type="submit" value="Отправить">
</form>

Атрибут minlength="8" требует, чтобы пароль содержал не менее 8 символов.

4. Валидация с использованием регулярного выражения:

<form>
<label for="phone">Телефон (формат: 123-456-7890):</label><br>
<input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" required><br><br>
<input type="submit" value="Отправить">
</form>

Атрибут pattern позволяет задать регулярное выражение для проверки формата введенных данных. В данном случае проверяется, что телефонный номер соответствует формату “123-456-7890”.

Практически все веб-сайты используют валидацию форм. Например:

  • Регистрация и авторизация: Проверка email, пароля, подтверждения пароля.
  • Оформление заказа в интернет-магазине: Валидация адреса доставки, номера телефона, данных кредитной карты.
  • Формы обратной связи: Проверка корректности email и обязательности заполнения поля сообщения.

Многие JavaScript фреймворки, такие как React, Angular и Vue.js, предоставляют мощные инструменты для валидации форм, которые позволяют создавать более сложные и настраиваемые правила валидации. Они часто используют HTML5 атрибуты валидации в качестве основы, но добавляют дополнительные возможности, такие как асинхронная валидация (например, проверка уникальности имени пользователя на сервере).

  • HTML5 предоставляет встроенные атрибуты для валидации форм на стороне клиента.
  • Атрибуты required, minlength, maxlength, min, max, type и pattern позволяют задавать простые правила валидации.
  • Регулярные выражения (pattern) обеспечивают гибкий способ проверки формата данных.
  • Валидация на стороне клиента улучшает пользовательский опыт и снижает нагрузку на сервер.
  • JavaScript фреймворки предоставляют более продвинутые инструменты для валидации форм.