Zend_Validate-Set.xml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 21259 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">
  5. <title>Standard Prüfklassen</title>
  6. <para>
  7. Zend Framework kommt mit einem Standardset von Prüfklassen, welche fertig zur Verwendung
  8. sind.
  9. </para>
  10. <sect2 id="zend.validate.set.alnum">
  11. <title>Alnum</title>
  12. <para>
  13. Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> nur
  14. alphabetische und digitale Zeichen enthält. Dieser Prüfer enthält eine Option um
  15. auszuwählen ob Leerzeichen als gültig anzusehen sind.
  16. </para>
  17. <note>
  18. <para>
  19. Alphabetische Zeichen bedeuten Zeichen die in jeder Spache Wörter bilden. Trotzdem
  20. wird das englische Alphabet in den folgenden Sprachen für alphabethische Zeichen
  21. verwendet: Chinesisch, Japanisch, Koreanisch. Die Sprache wurde von
  22. <classname>Zend_Locale</classname> spezifiziert.
  23. </para>
  24. </note>
  25. </sect2>
  26. <sect2 id="zend.validate.set.alpha">
  27. <title>Alpha</title>
  28. <para>
  29. Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> nur
  30. alphabetische Zeichen enthält. Dieser Prüfer enthält eine Option um auszuwählen ob
  31. Leerzeichen als gültig anzusehen sind.
  32. </para>
  33. </sect2>
  34. <xi:include href="Zend_Validate-Barcode.xml" />
  35. <xi:include href="Zend_Validate-Between.xml" />
  36. <xi:include href="Zend_Validate-Callback.xml" />
  37. <xi:include href="Zend_Validate-CreditCard.xml" />
  38. <sect2 id="zend.validate.set.ccnum">
  39. <title>Ccnum</title>
  40. <note>
  41. <para>
  42. Die <classname>Ccnum</classname> Prüfung sollte nicht mehr eingesetzt werden.
  43. Stattdessen sollte man die <classname>CreditCard</classname> Prüfung verwenden.
  44. Aus Gründen der Sicherheit sollte man CreditCard statt Ccnum verwenden.
  45. </para>
  46. </note>
  47. </sect2>
  48. <sect2 id="zend.validate.set.date">
  49. <title>Date</title>
  50. <para>
  51. Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> ein
  52. gültiges Datum im Format 'YYYY-MM-DD' ist. Wenn die optionale
  53. <property>locale</property> Option gesetzt ist, dann wird das Datum entsprechend dem
  54. gesetzten Gebietsschemas geprüft. Und wenn die optionale <property>format</property>
  55. Option gesetzt wird, dann wird dieses Format für die Prüfung herangezogen. Für Details
  56. über die optionalen Parametern siehe <link
  57. linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>.
  58. </para>
  59. </sect2>
  60. <xi:include href="Zend_Validate-Db.xml" />
  61. <sect2 id="zend.validate.set.digits">
  62. <title>Digits</title>
  63. <para>
  64. Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> nur
  65. digitale Zeichen enthält.
  66. </para>
  67. </sect2>
  68. <xi:include href="Zend_Validate-EmailAddress.xml" />
  69. <sect2 id="zend.validate.set.float">
  70. <title>Float</title>
  71. <para>
  72. Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> ein
  73. Fließkomma Wert ist. Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle
  74. Gebietsschema des Browsers, der Umgebung oder eines anwendungsweit gesetzten
  75. Gebietsschemas. Man kann natürlich die Zugriffsmethoden get/setLocale verwenden um das
  76. verwendete Gebietsschema zu verändern oder es bei der Erstellung einer Instanz dieser
  77. Prüfung angeben.
  78. </para>
  79. </sect2>
  80. <xi:include href="Zend_Validate-GreaterThan.xml" />
  81. <xi:include href="Zend_Validate-Hex.xml" />
  82. <xi:include href="Zend_Validate-Hostname.xml" />
  83. <sect2 id="zend.validate.set.iban">
  84. <title>Iban</title>
  85. <para>
  86. Gibe nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> eine
  87. gültige IBAN (Internationale Bank Account Nummer) enthält. IBAN Nummern werden gegen ein
  88. Land geprüft in dem Sie verwendet werden und durch eine Checksumme.
  89. </para>
  90. <para>
  91. Es gibt zwei Wege um IBAN Nummern zu prüfen. Als ersten Weg kann man ein Gebietsschema
  92. angeben welches das Land repräsentiert. Jede angegebene IBAN Nummer wird das gegen
  93. dieses Land geprüft.
  94. </para>
  95. <programlisting language="php"><![CDATA[
  96. $validator = new Zend_Validate_Iban('de_AT');
  97. $iban = 'AT611904300234573201';
  98. if ($validator->isValid($iban)) {
  99. // IBAN scheint gültig zu sein
  100. } else {
  101. // IBAN ist ungültig
  102. foreach ($validator->getMessages() as $message) {
  103. echo "$message\n";
  104. }
  105. }
  106. ]]></programlisting>
  107. <para>
  108. Das sollte man tun wenn man IBAN Nummern gegen ein einzelnes Land prüfen will. Der
  109. einfachere Weg der Prüfung ist es kein Gebietsschema anzugeben wie im nächsten Beispiel
  110. gezeigt.
  111. </para>
  112. <programlisting language="php"><![CDATA[
  113. $validator = new Zend_Validate_Iban();
  114. $iban = 'AT611904300234573201';
  115. if ($validator->isValid($iban)) {
  116. // IBAN scheint gültig zu sein
  117. } else {
  118. // IBAN ist ungültig
  119. }
  120. ]]></programlisting>
  121. <para>
  122. Aber das zeigt ein großes Problem: Wenn man nur IBAN Nummern von einem einzelnen Land
  123. akzeptieren darf, zum Beispiel Frankreich, sind auch die IBAN Nummer von anderen Ländern
  124. gültig. Deshalb als Erinnerung: Wenn man IBAN Nummern gegen ein definiertes Land zu
  125. prüfen hat, sollte man ein Gebietsschema angeben. Und wenn man alle IBAN Nummern
  126. akzeptieren will unabhängig von irgendeinem Land kann der Einfachheit halber das
  127. Gebietsschema unterdrückt werden.
  128. </para>
  129. </sect2>
  130. <xi:include href="Zend_Validate-Identical.xml" />
  131. <xi:include href="Zend_Validate-InArray.xml" />
  132. <sect2 id="zend.validate.set.int">
  133. <title>Int</title>
  134. <para>
  135. Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> ein
  136. gültiger Integer ist. Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle
  137. Gebietsschema des Browsers, der Umgebung oder eines anwendungsweit gesetzten
  138. Gebietsschemas. Man kann natürlich die Zugriffsmethoden get/setLocale verwenden um das
  139. verwendete Gebietsschema zu verändern oder es bei der Erstellung einer Instanz dieser
  140. Prüfung angeben.
  141. </para>
  142. </sect2>
  143. <xi:include href="Zend_Validate-Isbn.xml" />
  144. <xi:include href="Zend_Validate-Ip.xml" />
  145. <xi:include href="Zend_Validate-LessThan.xml" />
  146. <xi:include href="Zend_Validate-NotEmpty.xml" />
  147. <xi:include href="Zend_Validate-PostCode.xml" />
  148. <sect2 id="zend.validate.set.regex">
  149. <title>Regex</title>
  150. <para>
  151. Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> mit einem
  152. Regular Expression Pattern geprüft werden kann.
  153. </para>
  154. </sect2>
  155. <xi:include href="Zend_Validate-Sitemap.xml" />
  156. <sect2 id="zend.validate.set.string_length">
  157. <title>StringLength</title>
  158. <para>
  159. Gibt nur dann <constant>TRUE</constant> zurück wenn die Länge des Strings von
  160. <varname>$value</varname> mindstens ein Minimum und nicht größer als ein Maximum ist
  161. (wenn die max Option nicht <constant>NULL</constant> ist). Wirft die
  162. <methodname>setMin()</methodname> Methode eine Ausnahme wenn die minimale Länge auf
  163. einen größeren Wert gesetzt wird als die maximale Länge, und die
  164. <methodname>setMax()</methodname> Methode wirft eine Ausnahme wenn die maximale Länge
  165. auf einen kleineren Wert als die minimale Länge gesetzt wird. Seit Version 1.0.2
  166. unterstützt diese Klasse UTF-8 und andere Zeichensätze, basierend auf dem aktuellen Wert
  167. von <ulink
  168. url="http://www.php.net/manual/de/ref.iconv.php#iconv.configuration">iconv.internal_encoding</ulink>.
  169. Wenn man ein anderes Encoding benötigt kann man es mit den Zugriffsmethoden getEncoding
  170. und setEncoding setzen.
  171. </para>
  172. </sect2>
  173. </sect1>