Form validation is a UX decision. Good validation guides users; bad validation drives them away. It can lift conversion by 30-50%.
Types
Client-side (JS), server-side (security), HTML5 (built-in).
Inline validation
Real-time per field. Better than submit-only.
Real-time tactics
onBlur (best), onChange (success only), debounce 300-500ms.
HTML5 type, regex, server MX check.
Password
Strength indicator, requirement list with checks.
Username
Real-time availability with debounce.
Phone
libphonenumber. Auto-format.
Error message
Friendly, specific. \"Email format: ali@example.com\".
Success
Green check icon.
Submit
Always active. On click โ focus on the first error.
Error summary
At the top for large forms. Accessibility.
Disabled submit
Better avoided.
Mobile
Large error text, correct keyboard.
Server-side
Always required. Prepared statements, sanitisation.
Mistakes
Waiting for submit, validating while typing, generic text.
Sayt.uz
Inline, blur event, password real-time. Form completion 78% (industry 50-60%).