Zod
Objektumok validálása
z.object, nested objektumok, partial/required, pick/omit, extend, extra mezők kezelése.
Objektumok validálása
Alap objektum schema
import { z } from "zod"
const userSchema = z.object({
name: z.string(),
age: z.number(),
email: z.string().email(),
})Egymásba ágyazott objektumok
const addressSchema = z.object({
street: z.string(),
city: z.string(),
zipCode: z.string().regex(/^\d{4}$/, "Érvényes irányítószám szükséges"),
})
const userWithAddressSchema = z.object({
name: z.string(),
email: z.string().email(),
address: addressSchema,
})partial() és required()
const partialUserSchema = userSchema.partial()
const updateUserSchema = userSchema.partial({
age: true,
email: true,
})
const strictUserSchema = partialUserSchema.required()pick() és omit()
const publicUserSchema = userSchema.pick({ name: true, email: true })
const createUserSchema = userSchema.omit({ id: true })extend()
const baseSchema = z.object({
id: z.string().uuid(),
createdAt: z.date(),
})
const extendedUserSchema = baseSchema.extend({
name: z.string(),
email: z.string().email(),
})Extra mezők kezelése
const schema = z.object({ name: z.string() })
const strictSchema = schema.strict()
const passthroughSchema = schema.passthrough()