Typsicherheit zur Laufzeit mit Zod: Validierung an jeder Grenze

TypeScript gibt dir innerhalb deiner Codebasis Sicherheit. Sobald Daten eine Grenze überschreiten — eine API-Antwort, eine Formulareingabe, eine Umgebungsvariable, die Payload einer Message Queue —, löst sich diese Sicherheit in Luft auf. Du castest nach unknown, erzwingst den Typ mit as und hoffst, dass die Form zu dem deklarierten Typ passt. Zod behebt das, indem es das Schema zur einzigen Quelle der Wahrheit sowohl für den Laufzeit-Validator als auch für den TypeScript-Typ macht.

Dabei geht es nicht nur um Validierung. Es geht darum, die Typdefinition an den einzigen Ort zu verlagern, an dem sie tatsächlich überprüft werden kann: die Grenze selbst.