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