Parçacıklara Dön
TypeScriptTypeScript

TypeScript Zod Doğrulama

Otomatik TypeScript tip çıkarımı ile çalışma zamanı şema doğrulama.

typescriptzodvalidationschema
import { z } from class=class="text-emerald-400">"text-emerald-400">'zod'

const UserSchema = z.object({
  id: z.number(),
  name: z.string().min(2).max(50),
  email: z.string().email(),
  age: z.number().int().min(0).max(150).optional(),
  role: z.enum([class=class="text-emerald-400">"text-emerald-400">'admin', class=class="text-emerald-400">"text-emerald-400">'editor', class=class="text-emerald-400">"text-emerald-400">'viewer']),
  metadata: z.record(z.string()).optional(),
})

class=class="text-emerald-400">"text-gray">// Infer the TypeScript type from the schema
type User = z.infer<typeof UserSchema>

class=class="text-emerald-400">"text-gray">// Validate unknown data
function parseUser(data: unknown): User {
  return UserSchema.parse(data)
}

class=class="text-emerald-400">"text-gray">// Safe parse — returns result instead of throwing
function safeParseUser(data: unknown) {
  const result = UserSchema.safeParse(data)
  if (!result.success) {
    console.error(result.error.flatten())
    return null
  }
  return result.data
}

Nasıl Kullanılır

Şemaları bir kez tanımlayın ve hem doğrulama hem de tipler elde edin: type User = z.infer<typeof UserSchema>. Geçersiz veride hata fırlatmak için parse(), API'ler ve formlarda düzgün hata yönetimi için safeParse() kullanın.

İlgili Teknoloji

TypeScript

Aklınızda Bir Proje mi Var?

Fikrinizi birlikte hayata geçirelim. 50+ teslim edilmiş projeyle sizi konseptten yayına hazır bir ürüne taşıyor; sabit fiyatlı tekliflerle özel yazılım geliştirme sunuyoruz. Hiçbir taahhüt olmadan ücretsiz danışmanlık alın.

veya ücretsiz görüşme ayarlayın