Extbase - Formulare validieren: Unterschied zwischen den Versionen
| Zeile 5: | Zeile 5: | ||
http://www.derhansen.de/2013/05/typo3-extbase-own-validators-and-multi.html | http://www.derhansen.de/2013/05/typo3-extbase-own-validators-and-multi.html | ||
| + | |||
| + | Domänenobjekte werden nur '''im Controller''' validiert. Mittelfristig soll es eine zweite Validierung beim Speichern der Daten geben. Gibt es einen Fehler bei der Validierung wird im Controller die errorAction() aufgerufen. | ||
| + | |||
==Quickstart== | ==Quickstart== | ||
| − | Wird ein Model über das Frontend in einer newAction erstellt, so erfolgt die Validierung anhand der '''PHP Annotations im jeweiligen Model''' (typo3conf/ext/extension/Classes/Model/Beispiel.php), zum | + | Es gibt mehrere Arten zu Validieren: |
| + | |||
| + | ===1. Validierung in den Annotations des Models.=== | ||
| + | Reicht aus wenn die Domänenobjekte einzeln Validiert werden können. Wird ein Model über das Frontend in einer newAction erstellt, so erfolgt die Validierung anhand der '''PHP Annotations im jeweiligen Model''' (typo3conf/ext/extension/Classes/Model/Beispiel.php), zum | ||
Beispiel so: | Beispiel so: | ||
| Zeile 14: | Zeile 20: | ||
* | * | ||
* @var string | * @var string | ||
| − | * @validate NotEmpty | + | * @validate NotEmpty, StringLength(minimum = 1, maximum = 80) |
*/ | */ | ||
protected $perName = ''; | protected $perName = ''; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Über das “@validate NotEmpty” wird sichergestellt, dass dieser Wert nicht leer sein darf. | Über das “@validate NotEmpty” wird sichergestellt, dass dieser Wert nicht leer sein darf. | ||
Version vom 29. Juni 2015, 11:57 Uhr
Das Extbase Validator Objekt
http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid/validators.html
http://www.derhansen.de/2013/05/typo3-extbase-own-validators-and-multi.html
Domänenobjekte werden nur im Controller validiert. Mittelfristig soll es eine zweite Validierung beim Speichern der Daten geben. Gibt es einen Fehler bei der Validierung wird im Controller die errorAction() aufgerufen.
Quickstart
Es gibt mehrere Arten zu Validieren:
1. Validierung in den Annotations des Models.
Reicht aus wenn die Domänenobjekte einzeln Validiert werden können. Wird ein Model über das Frontend in einer newAction erstellt, so erfolgt die Validierung anhand der PHP Annotations im jeweiligen Model (typo3conf/ext/extension/Classes/Model/Beispiel.php), zum
Beispiel so:
/**
* perName
*
* @var string
* @validate NotEmpty, StringLength(minimum = 1, maximum = 80)
*/
protected $perName = '';
Über das “@validate NotEmpty” wird sichergestellt, dass dieser Wert nicht leer sein darf.