Zod Nedir?
Zod, TypeScript için geliştirilmiş, şema tabanlı bir veri doğrulama kütüphanesidir. TypeScript-first yaklaşımı sayesinde, tanımladığınız şemalardan otomatik olarak TypeScript tipleri çıkarır.
Runtime doğrulama ve statik tip çıkarımını birleştirerek, hem geliştirme hem de çalışma zamanında tip güvenliği sağlar.
Temel Şemalar
Zod ile string, number, boolean ve object gibi temel tipler için şemalar tanımlayabilirsiniz. z.string(), z.number() ve z.object() en sık kullanılan şemalardır.
Her şema, .min(), .max(), .email() gibi zincirleme metodlarla özelleştirilebilir.
Gelişmiş Doğrulama
Zod, refine ve superRefine ile özel doğrulama mantığı eklemenize olanak tanır. Ayrıca, discriminatedUnion ve z.infer gibi gelişmiş özellikler sunar.
z.string().email() ile e-posta doğrulama z.array().min(1) ile dizi doğrulama z.discriminatedUnion ile ayrıştırılmış birleşimler z.refine ile özel doğrulama kuralları
API ve Form Entegrasyonu
Zod, tRPC ve React Hook Form ile mükemmel bir uyum içinde çalışır. API uç noktalarınızda giriş doğrulaması veya form validasyonu için idealdir.
TypeScript Entegrasyonu
Zod'un en güçlü yönlerinden biri z.infer ile şemalardan TypeScript tipleri çıkarabilmesidir. Bu sayede tek bir kaynakta (şema) hem doğrulama hem de tip tanımı yapmış olursunuz.