intermediate
Validation
Согласуйте обратную связь на клиенте, серверную валидацию, разбор схем, доступность и доверенные границы.
Валидация включает HTML-ограничения (`required`, `pattern`), клиентские схемы для быстрой обратной связи и авторитетную серверную проверку. Не доверяйте только клиенту в вопросах безопасности. Показывайте ошибки рядом с полями через `aria-invalid` и `aria-describedby`, связывая подсказку.
Валидируйте на blur, submit или change в зависимости от UX — агрессивная проверка onChange раздражает. Парсите данные схемой на границе формы, чтобы невалидные значения не попадали в бизнес-логику молча.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Сервер остаётся источником истины.
- Доступная связь ошибки с полем.
- Парсинг схемой на границе формы.