Пошаговое руководство

Валидация формы: браузер и сервер

Required, email, длина и диапазон: как помочь посетителю исправить ввод и почему клиентская проверка не заменяет серверную.

С чего начать

Начните с required и типов полей в HTML. Затем добавьте проверку связанных значений и понятные сообщения.

Начать с HTML правил

Валидация в браузере помогает человеку исправить ошибку. Серверная проверка защищает принимающую систему. Клиентскую проверку можно обойти, поэтому endpoint обязан повторно проверить ограничения.

Начните с HTML

<label for="reply">Email для ответа</label>
<input id="reply" name="email" type="email" required maxlength="254">
<label for="text">Опишите задачу</label>
<textarea id="text" name="message" required maxlength="2000"></textarea>

Не используйте placeholder вместо label. Подсказка объясняет ожидаемый формат, а ошибка сообщает, что изменить. Required уместен только у полей, без которых обращение нельзя обработать.

Проверяйте связи между полями

Для бюджета отдельные min=0 не проверяют, что нижняя граница меньше верхней. Для условного поля обязательность зависит от выбранного варианта. Скрытое поле не должно незаметно блокировать отправку.

export function budgetError(minimum, maximum) {
  if (!Number.isFinite(minimum) || !Number.isFinite(maximum)) return 'Укажите числа';
  if (minimum < 0 || maximum < minimum) return 'Проверьте диапазон бюджета';
  return '';
}

Проверьте ошибки

Оставьте обязательное поле пустым, введите неверный email и обратный диапазон. Сообщение должно стоять рядом с полем и быть связано через aria-describedby. Сохраните введённый текст. Затем проверьте корректный ввод и отдельно серверный отказ.

Шаблоны Formhunt помогают проверить поля перед подключением обработчика отправки.

Источники и дата проверки

Редакционная сверка: 2026-10-27. Учитывайте версию инструментов в своём проекте.

Обновлено

Следующий шаг

Продолжите подключение

Начните с формы

Ваш сайт уже есть.
Подключим форму.

Откройте личный кабинет, затем передайте агенту промпт подключения.

Подключить форму