intermediate

Validation

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

Валидация включает HTML-ограничения (`required`, `pattern`), клиентские схемы для быстрой обратной связи и авторитетную серверную проверку. Не доверяйте только клиенту в вопросах безопасности. Показывайте ошибки рядом с полями через `aria-invalid` и `aria-describedby`, связывая подсказку.

Валидируйте на blur, submit или change в зависимости от UX — агрессивная проверка onChange раздражает. Парсите данные схемой на границе формы, чтобы невалидные значения не попадали в бизнес-логику молча.

На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.

Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.

Компромисс часто между ясностью и переиспользованием или между явными props и удобством.

Чеклист:

  • Сервер остаётся источником истины.
  • Доступная связь ошибки с полем.
  • Парсинг схемой на границе формы.