Validation with Zod

+15 Mana ✨

When using Server Actions for form mutations, it is critical to validate data before processing it. Zod is a popular schema validation library for this purpose.

Example

ts
'use server'

import { z } from 'zod'

const schema = z.object({
  email: z.string().email(),
})

export async function createUser(formData: FormData) {
  const parsed = schema.safeParse({
    email: formData.get('email'),
  })

  if (!parsed.success) {
    return { errors: parsed.error.flatten().fieldErrors }
  }

  // Proceed with safe data
}
✓ Completed