Ich habe lange gesucht und kein Beispiel gefunden, daher hoffe ich, dass ich damit jemandem die Sucherei und das Quellcode-Lesen ersparen kann.
Möchte man eine Property als Boolean validieren, dann lautet die Annotation wie folgt:
use TYPO3\CMS\Extbase\Annotation as Extbase;/**
* @var boolean
* @Extbase\Validate(validator="Boolean", options={"is": "1"})
* @Extbase\ORM\Transient
*/protected$privacy;
Die Begründung ist, dass für die Abwärtskompabitilität nicht per Default validiert werden kann. Denn alle Properties vom Typ Boolean werden damit validiert.
Um Formulare Client-seitig zu validieren, gibt es ein Plugin für jQuery: jQuery Validation
Damit ist es möglich, Formulare vor dem Absenden fast automatisch zu validieren, die Ausgabe der Fehlermeldungen kann auch gesteuert werden. Außerdem ist es möglich, eigene Validierungsfunktionen hinzuzufügen. Hier sind die Beispiele, nach denen ich länger suchen musste.
Validieren eines Felder in Abhängigkeit eines anderen:
Das Feld number_nights ist nur dann obligatorisch, wenn die Checkbox ‚checkbox‘ angekreuzt ist.
Definieren einer eigenen Validierungsfunktion:
Die Felder number_singlerooms und number_doublerooms sind beide obligatorisch und dürfen nur Zahlen (digits) enthalten. Dadurch ist aber nicht sichergestellt, dass in Summe mindenstens 1 rauskommt, daher definiere ich eine eigene Validierungsfunktion und weise sie den Feldern hinzu.
Neueste Kommentare