Learning
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()

On this page