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

+90 olmadan, 10 hane
Yazmaya devam edin…
⚠ Telefon numarası 10 haneli olmalı. Örn: 555 123 45 67
✓ Doğrulandı · WhatsApp aktif
Sıra: Empty → Typing (validation off) → Blur (validation on) → Error/Success.

Form-level error özeti — submit'te

3 alanı düzeltin:
  • Telefon: 10 haneli olmalı
  • E-posta: geçerli format değil
  • Adres: zorunlu
⚠ 10 haneli olmalı
⚠ Geçerli e-posta girin
⚠ Bu alan zorunlu
Özet kutucuğu tıklanabilir linkler içerir — her madde ilgili input'a focus + scroll yapar.

Hata mesajı — yazım kuralları

DoDon't
Telefon 10 haneli olmalıValidation error: 422
Bu telefon zaten kayıtlı. Giriş yapınTelefon var.
E-posta formatı: ad@firma.comInvalid input!
İlk karakter rakam olamazLütfen geçerli değer girin
Formül: ne yanlış + nasıl düzeltilir. "Hata oluştu" gibi içi boş cümleler yok.