Background

Zod

Was ist Zod?

Zod ist eine TypeScript-first-Bibliothek zur Schema-Deklaration und Validierung von Daten. Ein Schema beschreibt die erwartete Struktur, zum Beispiel ein Objekt mit Pflichtfeldern, Formaten und Wertebereichen. Zur Laufzeit prüft Zod eingehende Daten gegen dieses Schema, zur Compile-Zeit lässt sich daraus der passende TypeScript-Typ ableiten. Schema und Typ müssen so nicht doppelt gepflegt werden.

Vorteile von Zod

  • Eine Quelle für Typ und Validierung: Mit z.infer entsteht der Typ direkt aus dem Schema.
  • Laufzeitsicherheit: Daten aus APIs, Formularen oder Umgebungsvariablen werden geprüft, bevor sie verarbeitet werden.
  • Verständliche Fehlermeldungen: Validierungsfehler enthalten Pfad und Ursache und lassen sich gut im UI anzeigen.
  • Breite Unterstützung: tRPC, React Hook Form, das Vercel AI SDK und viele weitere Bibliotheken arbeiten direkt mit Zod-Schemas.
  • Transformationen: Werte lassen sich beim Parsen umwandeln, etwa Strings in Datumswerte.

Nachteile von Zod

  • Paketgröße: Im Frontend ist Zod größer als minimalistische Alternativen wie Valibot.
  • Performance: Bei sehr großen Datenmengen sind spezialisierte Validierer schneller.
  • Komplexe Typen: Sehr verschachtelte Schemas können den TypeScript-Compiler spürbar verlangsamen.
  • Nur für TypeScript und JavaScript, nicht sprachübergreifend wie JSON Schema.

Einsatzbereich von Zod

Zod wird überall dort eingesetzt, wo Daten von außen in eine TypeScript-Anwendung gelangen: API-Eingaben, Formulare, Konfiguration, Umgebungsvariablen und strukturierte Antworten von Sprachmodellen.

Alternativen zu Zod

  • Valibot
  • Yup
  • ArkType
  • Effect Schema
  • JSON Schema mit Ajv
Mariusz, der Gründer von Handmade Systems
NATO
TaxiKomm24
Swiss Life
SweepBusiness

Welches Paket passt zu Ihnen?

In einem 30-Minuten-Gespräch finden wir es heraus. Passt keins, sagen wir Ihnen das auch: