Identical
Zend_Validate_Identical erlaubt es zu prüfen ob ein angegebener Wert
mit einem angegebenen Vergleichswert identisch ist.
Unterstützte Optionen für Zend_Validate_Identical
Die folgenden Optionen werden für Zend_Validate_Identical
unterstützt:
token: Setzt den Token gegen den die
Eingabe geprüft werden soll.
Grundsätzliche Verwendung
Um zu prüfen ob zwei Werte identisch sind muss man den originalen Wert als
Vergleichswert setzen. Siehe das folgende Beispiel welches zwei Strings vergleicht.
isValid($value) {
return true;
}
]]>
Die Prüfung wird nur dann TRUE zurückgeben wenn beide Werte 100%
identisch sind. In unserem Beispiel wenn $value 'original' ist.
Man kann den gewünschten Token auch im Nachhinein durch Verwendung der Methode
setToken() setzen und mit getToken()
den aktuell gesetzten Token erhalten.
Identische Objekte
Natürlich kann Zend_Validate_Identical nicht nur Strings prüfen,
sondern jeden Variablentyp wie Boolean, Integer, Float, Array oder sogar Objekte. Wie
bereits notiert müssen Vergleichswert und Wert identisch sein.
isValid($input)) {
// Der Wert scheint gültig zu sein
} else {
// Der Wert ist ungültig
}
]]>
Vergleich des Typs
Man sollte darauf acht geben das der Typ einer Variable für die Prüfung verwendet
wird. Das bedeutet das der String '3' nicht identisch ist mit
dem Integerwert 3.
Das ist auch der Fall für Form Elemente. Sie sind Objekte oder Arrays. Deshalb kann
man nicht einfach ein Textfeld welches ein Passwort enthält mit einem textuellen
Passwort aus einer anderen Quelle vergleichen. Das Element selbst ist als Array
angegeben welches auch zusätzliche Informationen enthält.
Konfiguration
Wie alle anderen Prüfungen unterstützt Zend_Validate_Identical
auch die Verwendung von Konfigurationseinstellungen als Eingabe Parameter. Das
bedeutet das man den Prüfer mit einem Zend_Config Objekt
konfigurieren kann.
Aber das führt zu einem weiteren Fall den man berücksichtigen muss. Wenn man ein Array
als Vergleichswert verwendet, dann sollte man dieses in einen
'token' Schlüssel einhüllen wenn dieses nur ein Element enthält.
123));
if ($valid->isValid($input)) {
// Der Wert scheint gültig zu sein
} else {
// Der Wert ist ungültig
}
]]>
Das oben stehende Beispiel prüft den Integerwert 123. Der Grund für diesen speziellen
Fall ist, dass man den Token der verwendet werden soll, durch Angabe des
'token' Schlüssels, konfigurieren kann.
Wenn der eigene Vergleichswert nur ein Element enthält, und dieses Element
'token' heißt dann muss man dieses, wie im oben stehenden Beispiel
gezeigt, einhüllen.
array('token' => 123)));
if ($valid->isValid($input)) {
// Der Wert scheint gültig zu sein
} else {
// Der Wert ist ungültig
}
]]>