Learning
Zod

Alap típusok Zod-ban

Primitívek, string/number validációk, optional/nullable, enum, array és union.

Alap típusok Zod-ban

Primitívek

import { z } from "zod"

const nameSchema = z.string()
const emailSchema = z.string().email()
const urlSchema = z.string().url()
const uuidSchema = z.string().uuid()

const ageSchema = z.number()
const positiveSchema = z.number().positive()
const intSchema = z.number().int()
const rangeSchema = z.number().min(0).max(100)

const activeSchema = z.boolean()
const dateSchema = z.date()

const statusSchema = z.literal("active")
const piSchema = z.literal(3.14)

String validációk

const passwordSchema = z
  .string()
  .min(8, "Minimum 8 karakter szükséges")
  .max(100, "Maximum 100 karakter megengedett")
  .regex(/[A-Z]/, "Legalább egy nagybetű szükséges")
  .regex(/[0-9]/, "Legalább egy szám szükséges")

Optional / nullable / nullish

const optionalName = z.string().optional()
const nullableName = z.string().nullable()
const looseField = z.string().nullish()

Enum, array, union

const RoleSchema = z.enum(["admin", "editor", "viewer"])
type Role = z.infer<typeof RoleSchema>

const tagsSchema = z.array(z.string())
const idSchema = z.union([z.string(), z.number()])
const idSchemaAlt = z.string().or(z.number())

On this page