Form validation — UX решение. Хорошая валидация ведёт пользователя. Плохая прогоняет. +30-50% конверсия.
Виды
Client-side (JS), server-side (безопасность), HTML5 (built-in).
Inline validation
Real-time, по полям. Лучше submit-only.
Real-time тактики
onBlur (лучшее), onChange (только success), debounce 300-500ms.
HTML5 type, regex, server MX check.
Password
Индикатор силы, список требований с галочками.
Username
Real-time availability с debounce.
Phone
libphonenumber. Auto-format.
Сообщение об ошибке
Дружелюбно, конкретно. \"Email формат: ali@example.com\".
Success
Зелёный check icon.
Submit
Всегда active. На клик — focus на первой ошибке.
Error summary
Вверху для больших форм. Accessibility.
Disabled submit
Лучше не делать.
Mobile
Большие ошибки, правильная клавиатура.
Server-side
Всегда обязательно. Prepared statements, sanitization.
Ошибки
Ждать submit, валидация во время typing, generic тексты.
Сайт.uz
Inline, blur event, password real-time. Form completion 78% (индустрия 50-60%).