Zod Schema Parse With Transform

Define Zod schemas with transforms for input normalization validation and output type inference.

TypescriptForm Validation

Code

snippet
import{z}from'zod';export const userSchema=z.object({email:z.string().email().transform(s=>s.toLowerCase()),age:z.number().int().min(18).max(120),tags:z.array(z.string()).default([]),metadata:z.record(z.string(),z.unknown()).optional()}).strict();export type User=z.infer<typeof userSchema>;export function parseUser(input:unknown):User{return userSchema.parse(input);}export function safeParseUser(input:unknown){const result=userSchema.safeParse(input);return result.success?{valid:true,data:result.data}:{valid:false,errors:result.error.issues};}