Validator
Dank Extbase braucht ihr nicht mehr für jedes Feld eine Überprüfungsfunktion schreiben, sondern könnt auf vorgegebene Überprüfungstools von Extbase zugreifen. Diese werden direkt in den Kommentaren zur jeweiligen Objekteigenschaft angegeben.
Für die Dateien im Domain/Model-Verzeichnis schaut es folgendermaßen aus:
/**
* The blog's title.
*
* @var string
* @validate StringLength(minimum = 1, maximum = 80)
*/
protected $title = '';
Mehrere Validators werden kommasepariert angegeben.
Folgende Validators sind bereits verfügbar:
AbstractComposite
Noch nicht getestet
AbstractObject
Noch nicht getestet
Abstract
Noch nicht getestet
Alphanumeric
Gibt TRUE zurück, wenn der übergebene Wert ein String ist (is_string) UND, ob nur die Buchstaben A-Z und die Zahlen 0-9 enthalten sind. Sonderzeichen wie äöü geben ein false zurück.
Conjunction
Ist nicht direkt ein echter Validator. Conjunction gibt TRUE zurück wenn bei Angabe von mehreren Validators ALLE Validators ein TRUE zurückgegeben haben (AND).
DateTime
Gibt TRUE zurück, wenn der übergebene Wert einen gültigen Datums und Zeitwert enthält. Überprüft wird mit “instanceof(‘DateTime’)
Disjunction
Ist nicht direkt ein echter Validator. Disjunction gibt TRUE zurück wenn bei Angabe von mehreren Validators EIN Validator TRUE zurückgegeben haben (OR).
EmailAddress
Gibt TRUE zurück, wenn der übergebene Wert eine gültige E-Mail-Adresse ist. Allerdings werden Sonderzeichen wie äöü, wie sie hier in Deutschland auch gültig sind NICHT überprüft. Solche E-Mail-Adressen werden dann als ungültig zurückgegeben.
Float
Gibt TRUE zurück, wenn der übergebene Wert vom Typ Float ist. Gibt auch TRUE zurück, wenn der Wert String ist, aber wie Float aufgebaut ist: preg_match(’/^[0-9.e+-]+$/’, $value)
GenericObject
Noch nicht getestet
Integer
Gibt TRUE zurück, wenn der übergebene Wert vom Typ Integer ist.
NotEmpty
Gibt TRUE zurück, wenn der übergebene Wert nicht leer ist. Wenn FALSE, dann wird nochmals differenziert zwischen ’’ und NULL.
NumberRange
Gibt TRUE zurück, wenn der übergebene Wert eine Zahl ist UND zwischen den angegebenen Werten liegt.
Number
Gibt TRUE zurück, wenn der übergebene Wert numerisch ist (PHP: is_numeric)
Raw
Gibt TRUE zurück. Kein Wenn und kein Aber. Wird die Funktion zum Überprüfen aufgerufen wird sofort ein TRUE zurückgegeben. Hab keine Ahnung wann und wofür man das brauchen könnte.
RegularExpression
Gibt TRUE zurück, wenn der übergebene Wert eine regular Expression enthält UND diese mit dem Value übereinstimmt
StringLength
Gibt TRUE zurück, wenn der übergebene Wert von der Länge her zwischen die beiden Längenangaben passt. Gibt FALSE zurück, wenn die maximum-Angabe kleiner ist als das Minimum.
String
Gibt TRUE zurück, wenn der übergebene Wert vom Typ String ist (PHP: is_string)
Text
Gibt TRUE zurück, wenn der übergebene Wert ein Text ist. Gibt FALSE zurück, wenn der Text XML-Tags enthält.