| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 21243 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.validate.set.identical">
- <title>Identical</title>
- <para>
- <classname>Zend_Validate_Identical</classname> erlaubt es zu prüfen ob ein angegebener Wert
- mit einem angegebenen Vergleichswert identisch ist.
- </para>
- <sect3 id="zend.validate.set.identical.options">
- <title>Unterstützte Optionen für Zend_Validate_Identical</title>
- <para>
- Die folgenden Optionen werden für <classname>Zend_Validate_Identical</classname>
- unterstützt:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis><property>token</property></emphasis>: Setzt den Token gegen den die
- Eingabe geprüft werden soll.
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
- <sect3 id="zend.validate.set.identical.basic">
- <title>Grundsätzliche Verwendung</title>
- <para>
- 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.
- </para>
- <programlisting language="php"><![CDATA[
- $valid = new Zend_Validate_Identical('original');
- if ($valid->isValid($value) {
- return true;
- }
- ]]></programlisting>
- <para>
- Die Prüfung wird nur dann <constant>TRUE</constant> zurückgeben wenn beide Werte 100%
- identisch sind. In unserem Beispiel wenn <varname>$value</varname> 'original' ist.
- </para>
- <para>
- Man kann den gewünschten Token auch im Nachhinein durch Verwendung der Methode
- <methodname>setToken()</methodname> setzen und mit <methodname>getToken()</methodname>
- den aktuell gesetzten Token erhalten.
- </para>
- </sect3>
- <sect3 id="zend.validate.set.identical.types">
- <title>Identische Objekte</title>
- <para>
- Natürlich kann <classname>Zend_Validate_Identical</classname> 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.
- </para>
- <programlisting language="php"><![CDATA[
- $valid = new Zend_Validate_Identical(123);
- if ($valid->isValid($input)) {
- // Der Wert scheint gültig zu sein
- } else {
- // Der Wert ist ungültig
- }
- ]]></programlisting>
- <note>
- <title>Vergleich des Typs</title>
- <para>
- Man sollte darauf acht geben das der Typ einer Variable für die Prüfung verwendet
- wird. Das bedeutet das der String <emphasis>'3'</emphasis> nicht identisch ist mit
- dem Integerwert <emphasis>3</emphasis>.
- </para>
- <para>
- 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.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.validate.set.identical.configuration">
- <title>Konfiguration</title>
- <para>
- Wie alle anderen Prüfungen unterstützt <classname>Zend_Validate_Identical</classname>
- auch die Verwendung von Konfigurationseinstellungen als Eingabe Parameter. Das
- bedeutet das man den Prüfer mit einem <classname>Zend_Config</classname> Objekt
- konfigurieren kann.
- </para>
- <para>
- 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
- <property>'token'</property> Schlüssel einhüllen wenn dieses nur ein Element enthält.
- </para>
- <programlisting language="php"><![CDATA[
- $valid = new Zend_Validate_Identical(array('token' => 123));
- if ($valid->isValid($input)) {
- // Der Wert scheint gültig zu sein
- } else {
- // Der Wert ist ungültig
- }
- ]]></programlisting>
- <para>
- 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
- <property>'token'</property> Schlüssels, konfigurieren kann.
- </para>
- <para>
- Wenn der eigene Vergleichswert nur ein Element enthält, und dieses Element
- <property>'token'</property> heißt dann muss man dieses, wie im oben stehenden Beispiel
- gezeigt, einhüllen.
- </para>
- <programlisting language="php"><![CDATA[
- $valid = new Zend_Validate_Identical(array('token' => array('token' => 123)));
- if ($valid->isValid($input)) {
- // Der Wert scheint gültig zu sein
- } else {
- // Der Wert ist ungültig
- }
- ]]></programlisting>
- </sect3>
- </sect2>
|