Extbase - Formulare validieren: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
Siehe auch [[Extbase - Validierung das Validator Objekt]]
 +
 
==Das Extbase Validator Objekt==
 
==Das Extbase Validator Objekt==
 
https://typo3.org/api/typo3cms/namespace_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_validation_1_1_validator.html
 
https://typo3.org/api/typo3cms/namespace_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_validation_1_1_validator.html
  
 
http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid/validators.html
 
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==
 
==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 12: Zeile 22:
 
  *
 
  *
 
  * @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.
 +
 +
== Beispiele ==
 +
=== Saubere AJAX Validierung mit eigener errorAction() ===
 +
http://www.typo3tiger.de/blog/post/extbase-ajax-form-submit-validation.html

Aktuelle Version vom 28. September 2015, 11:45 Uhr

Siehe auch Extbase - Validierung das Validator Objekt

Das Extbase Validator Objekt[Bearbeiten]

https://typo3.org/api/typo3cms/namespace_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_validation_1_1_validator.html

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[Bearbeiten]

Es gibt mehrere Arten zu Validieren:

1. Validierung in den Annotations des Models.[Bearbeiten]

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.

Beispiele[Bearbeiten]

Saubere AJAX Validierung mit eigener errorAction()[Bearbeiten]

http://www.typo3tiger.de/blog/post/extbase-ajax-form-submit-validation.html