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.