zod-4

Solid

Zod 4 schema validation patterns. Trigger: When using Zod for validation - breaking changes from v3.

Data & Documents 183 stars 39 forks Updated 1 months ago MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
75
Recency 20%
75
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

## Breaking Changes from Zod 3 ```typescript // ❌ Zod 3 (OLD) z.string().email(); z.string().uuid(); z.string().url(); z.string().nonempty(); z.object({ name: z.string() }).required_error('Required'); // ✅ Zod 4 (NEW) z.email(); z.uuid(); z.url(); z.string().min(1); z.object({ name: z.string() }, { error: 'Required' }); ``` ## Basic Schemas ```typescript import { z } from 'zod'; // Primitives const stringSchema = z.string(); const numberSchema = z.number(); const booleanSchema = z.boolean(); const dateSchema = z.date(); // Top-level validators (Zod 4) const emailSchema = z.email(); const uuidSchema = z.uuid(); const urlSchema = z.url(); // With constraints const nameSchema = z.string().min(1).max(100); const ageSchema = z.number().int().positive().max(150); const priceSchema = z.number().min(0).multipleOf(0.01); ``` ## Object Schemas ```typescript const userSchema = z.object({ id: z.uuid(), email: z.email({ error: 'Invalid email address' }), name: z.string().min(1, { error: 'Name is required' }), age: z.number().int().positive().optional(), role: z.enum(['admin', 'user', 'guest']), metadata: z.record(z.string(), z.unknown()).optional() }); type User = z.infer<typeof userSchema>; // Parsing const user = userSchema.parse(data); // Throws on error const result = userSchema.safeParse(data); // Returns { success, data/error } if (result.success) { console.log(result.data); } else { console.log(result.error.issues); } ``` ## Arrays and Records ```types...

Details

Author
majiayu000
Repository
majiayu000/claude-skill-registry
Created
5 months ago
Last Updated
1 months ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category