Zend_Validate-Identical.xml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 21243 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.validate.set.identical">
  5. <title>Identical</title>
  6. <para>
  7. <classname>Zend_Validate_Identical</classname> erlaubt es zu prüfen ob ein angegebener Wert
  8. mit einem angegebenen Vergleichswert identisch ist.
  9. </para>
  10. <sect3 id="zend.validate.set.identical.options">
  11. <title>Unterstützte Optionen für Zend_Validate_Identical</title>
  12. <para>
  13. Die folgenden Optionen werden für <classname>Zend_Validate_Identical</classname>
  14. unterstützt:
  15. </para>
  16. <itemizedlist>
  17. <listitem>
  18. <para>
  19. <emphasis><property>token</property></emphasis>: Setzt den Token gegen den die
  20. Eingabe geprüft werden soll.
  21. </para>
  22. </listitem>
  23. </itemizedlist>
  24. </sect3>
  25. <sect3 id="zend.validate.set.identical.basic">
  26. <title>Grundsätzliche Verwendung</title>
  27. <para>
  28. Um zu prüfen ob zwei Werte identisch sind muss man den originalen Wert als
  29. Vergleichswert setzen. Siehe das folgende Beispiel welches zwei Strings vergleicht.
  30. </para>
  31. <programlisting language="php"><![CDATA[
  32. $valid = new Zend_Validate_Identical('original');
  33. if ($valid->isValid($value) {
  34. return true;
  35. }
  36. ]]></programlisting>
  37. <para>
  38. Die Prüfung wird nur dann <constant>TRUE</constant> zurückgeben wenn beide Werte 100%
  39. identisch sind. In unserem Beispiel wenn <varname>$value</varname> 'original' ist.
  40. </para>
  41. <para>
  42. Man kann den gewünschten Token auch im Nachhinein durch Verwendung der Methode
  43. <methodname>setToken()</methodname> setzen und mit <methodname>getToken()</methodname>
  44. den aktuell gesetzten Token erhalten.
  45. </para>
  46. </sect3>
  47. <sect3 id="zend.validate.set.identical.types">
  48. <title>Identische Objekte</title>
  49. <para>
  50. Natürlich kann <classname>Zend_Validate_Identical</classname> nicht nur Strings prüfen,
  51. sondern jeden Variablentyp wie Boolean, Integer, Float, Array oder sogar Objekte. Wie
  52. bereits notiert müssen Vergleichswert und Wert identisch sein.
  53. </para>
  54. <programlisting language="php"><![CDATA[
  55. $valid = new Zend_Validate_Identical(123);
  56. if ($valid->isValid($input)) {
  57. // Der Wert scheint gültig zu sein
  58. } else {
  59. // Der Wert ist ungültig
  60. }
  61. ]]></programlisting>
  62. <note>
  63. <title>Vergleich des Typs</title>
  64. <para>
  65. Man sollte darauf acht geben das der Typ einer Variable für die Prüfung verwendet
  66. wird. Das bedeutet das der String <emphasis>'3'</emphasis> nicht identisch ist mit
  67. dem Integerwert <emphasis>3</emphasis>.
  68. </para>
  69. <para>
  70. Das ist auch der Fall für Form Elemente. Sie sind Objekte oder Arrays. Deshalb kann
  71. man nicht einfach ein Textfeld welches ein Passwort enthält mit einem textuellen
  72. Passwort aus einer anderen Quelle vergleichen. Das Element selbst ist als Array
  73. angegeben welches auch zusätzliche Informationen enthält.
  74. </para>
  75. </note>
  76. </sect3>
  77. <sect3 id="zend.validate.set.identical.configuration">
  78. <title>Konfiguration</title>
  79. <para>
  80. Wie alle anderen Prüfungen unterstützt <classname>Zend_Validate_Identical</classname>
  81. auch die Verwendung von Konfigurationseinstellungen als Eingabe Parameter. Das
  82. bedeutet das man den Prüfer mit einem <classname>Zend_Config</classname> Objekt
  83. konfigurieren kann.
  84. </para>
  85. <para>
  86. Aber das führt zu einem weiteren Fall den man berücksichtigen muss. Wenn man ein Array
  87. als Vergleichswert verwendet, dann sollte man dieses in einen
  88. <property>'token'</property> Schlüssel einhüllen wenn dieses nur ein Element enthält.
  89. </para>
  90. <programlisting language="php"><![CDATA[
  91. $valid = new Zend_Validate_Identical(array('token' => 123));
  92. if ($valid->isValid($input)) {
  93. // Der Wert scheint gültig zu sein
  94. } else {
  95. // Der Wert ist ungültig
  96. }
  97. ]]></programlisting>
  98. <para>
  99. Das oben stehende Beispiel prüft den Integerwert 123. Der Grund für diesen speziellen
  100. Fall ist, dass man den Token der verwendet werden soll, durch Angabe des
  101. <property>'token'</property> Schlüssels, konfigurieren kann.
  102. </para>
  103. <para>
  104. Wenn der eigene Vergleichswert nur ein Element enthält, und dieses Element
  105. <property>'token'</property> heißt dann muss man dieses, wie im oben stehenden Beispiel
  106. gezeigt, einhüllen.
  107. </para>
  108. <programlisting language="php"><![CDATA[
  109. $valid = new Zend_Validate_Identical(array('token' => array('token' => 123)));
  110. if ($valid->isValid($input)) {
  111. // Der Wert scheint gültig zu sein
  112. } else {
  113. // Der Wert ist ungültig
  114. }
  115. ]]></programlisting>
  116. </sect3>
  117. </sect2>