Pattern — Form Validation
Field-level blur'da çalışır, kullanıcı yazarken kızdırmaz. Form-level submit'te çalışır, üstte özet gösterir. Async (telefon eşsizliği) typing duraksayınca tetiklenir.
Field state'leri — eksiksiz seri
Sıra: Empty → Typing (validation off) → Blur (validation on) → Error/Success.
Form-level error özeti — submit'te
Özet kutucuğu tıklanabilir linkler içerir — her madde ilgili input'a focus + scroll yapar.
Hata mesajı — yazım kuralları
| Do | Don't |
| Telefon 10 haneli olmalı | Validation error: 422 |
| Bu telefon zaten kayıtlı. Giriş yapın | Telefon var. |
| E-posta formatı: ad@firma.com | Invalid input! |
| İlk karakter rakam olamaz | Lütfen geçerli değer girin |
Formül: ne yanlış + nasıl düzeltilir. "Hata oluştu" gibi içi boş cümleler yok.