Arkadaşlar selam, uzun süredir React ile uğraşıyorum ve özellikle büyük ölçekli formlarda validasyon konusu beni gerçekten zorluyor. Mesela bir e-ticaret projemde, kullanıcının adres, ödeme bilgileri, kargo tercihleri gibi onlarca alanı tek bir sayfada topladım. Her alan için ayrı ayrı validasyon kuralları yazmak hem çok tekrara düşürüyor hem de performansı ciddi anlamda düşürüyor. Özellikle her tuş vuruşunda tüm formu yeniden render eden bir yapım var, bu da büyük formlarda input gecikmelerine yol açıyor. Sizce bu tarz durumlarda validasyon mantığını nasıl optimize etmek lazım? useDebounce ya da useMemo gibi hookları kullanmak yeterli mi, yoksa daha farklı bir mimari mi kurmalıyım?
Ben şu an her alan için ayrı bir state tutup onChange eventinde anlık olarak validasyon yapıyorum. Ama bu yaklaşım özellikle e-posta, telefon numarası gibi regex gerektiren alanlarda her harf değişiminde validasyonu tetikliyor. Bunun yerine form submit sırasında toplu validasyon mu yapmak daha mantıklı? Yoksa anlık validasyonu koruyup sadece alan odak kaybettiğinde (onBlur) kontrol etmek daha sağlıklı olur mu? Ayrıca React Hook Form veya Formik gibi kütüphaneler bu işi ne kadar optimize ediyor, yoksa sıfırdan kendi validasyon motorumu yazmalı mıyım?
Bir de validasyon hatalarını kullanıcıya gösterirken her alan için ayrı ayrı hata mesajı state'i tutmak yerine, hataları tek bir objede toplayıp sadece ilgili alan değiştiğinde o kısmı güncellemek daha performanslı olabilir mi? Deneyen varsa hangi yöntemin daha az render ve daha hızlı kullanıcı deneyimi sağladığını duymak isterim. Özellikle 50+ alanlı formlarda çalışan varsa, validasyon optimizasyonu için önerilerini bekliyorum. Şimdiden teşekkürler.
Ben şu an her alan için ayrı bir state tutup onChange eventinde anlık olarak validasyon yapıyorum. Ama bu yaklaşım özellikle e-posta, telefon numarası gibi regex gerektiren alanlarda her harf değişiminde validasyonu tetikliyor. Bunun yerine form submit sırasında toplu validasyon mu yapmak daha mantıklı? Yoksa anlık validasyonu koruyup sadece alan odak kaybettiğinde (onBlur) kontrol etmek daha sağlıklı olur mu? Ayrıca React Hook Form veya Formik gibi kütüphaneler bu işi ne kadar optimize ediyor, yoksa sıfırdan kendi validasyon motorumu yazmalı mıyım?
Bir de validasyon hatalarını kullanıcıya gösterirken her alan için ayrı ayrı hata mesajı state'i tutmak yerine, hataları tek bir objede toplayıp sadece ilgili alan değiştiğinde o kısmı güncellemek daha performanslı olabilir mi? Deneyen varsa hangi yöntemin daha az render ve daha hızlı kullanıcı deneyimi sağladığını duymak isterim. Özellikle 50+ alanlı formlarda çalışan varsa, validasyon optimizasyonu için önerilerini bekliyorum. Şimdiden teşekkürler.