Zum Inhalt springen

Validierung

Setzkasten nutzt Zod für die Validierung aller Felder. Constraints werden direkt im Schema definiert — kein separater Validierungsschritt nötig.

required

Jedes Feld kann mit required: true als Pflichtfeld markiert werden. Das Admin-UI zeigt einen Fehler, wenn das Feld leer gespeichert wird.

setzkasten.config.ts
heading: f.text({ label: 'Überschrift', required: true }),
email:   f.text({ label: 'E-Mail', required: true }),

Constraints für Zahlen

f.number() unterstützt min und max für Bereichsbeschränkungen.

price:    f.number({ label: 'Preis', min: 0, max: 9999 }),
quantity: f.number({ label: 'Anzahl', min: 1 }),

TypeScript-Typen

Das Schema generiert automatisch TypeScript-Typen. getSection() und getCollection() sind vollständig typisiert — kein manuelles Interface nötig.

src/pages/index.astro
import { getSection } from 'setzkasten:content'
const hero = getSection('hero')
// hero.heading ist string | undefined
// hero.price ist number | undefined
Hinweis: Komplexere Validierung (Regex, Cross-Field) ist für eine spätere Version geplant.