Формы

Inline-валидация в формах

Показывай ошибку сразу при вводе, а не после отправки формы.

Как реализовать правильно

Проверяй данные при потере фокуса (blur) или по debounce при вводе.

Пользователь вводит email, забывает @. Уже при переходе к следующему полю появляется ошибка под полем.

Особые ситуации

Перед отправкой запускается синхронная проверка и подсвечиваются все ошибки.
Email допустим, но уже занят — сообщи об этом с уточнением.
Скролль UI к первой ошибке и сфокусируй поле.

Редкие случаи

Дата окончания раньше даты начала — покажи это как связанную ошибку.
Оставь форму редактируемой и показывай ошибки, но не блокируй.
Покажи ошибку в summary или прокрути к скрытому блоку и раскрой его.