Zend_Validate-Set.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15743 -->
  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 <code>$value</code> nur alphabetische
  14. und digitale Zeichen enthält. Dieser Prüfer enthält eine Option um auszuwählen ob
  15. 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 Zend_Locale
  22. 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 <code>$value</code> nur alphabetische
  30. Zeichen enthält. Dieser Prüfer enthält eine Option um auszuwählen ob Leerzeichen
  31. als gültig anzusehen sind.
  32. </para>
  33. </sect2>
  34. <sect2 id="zend.validate.set.barcode">
  35. <title>Barcode</title>
  36. <para>
  37. Dieser Prüfer wird mit einem Barcode Typ instanziert gegen den ein Barcode Wert geprüft
  38. werden soll. Aktuell werden die "<code>UPC-A</code>" (Universal Product Code) und
  39. "<code>EAN-13</code>" (European Article Number) Barcode Typen unterstützt, und die
  40. <code>isValid()</code> Methode gibt dann und nur dann true zurück wenn die Eingabe
  41. erfolgreich gegen den Barcode Prüfalgorithmus geprüft wurde. Es sollten alle von den
  42. Ziffern 0 bis 9 (0-9) unterschiedliche Zeichen vom Eingabewert entfernt werden bevor
  43. dieser an den Prüfer übergeben wird.
  44. </para>
  45. </sect2>
  46. <sect2 id="zend.validate.set.between">
  47. <title>Between</title>
  48. <para>
  49. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> zwischen dem minimalen
  50. und maximalen Grenzwert ist. Der Vergleich ist standardmäßig inklusive
  51. (<code>$value</code> kann gleich dem Grenzwert sein), kann aber überschrieben werden um
  52. einen strikten Vergleich dort durchzuführen wo <code>$value</code> strikt größer als das
  53. Minimum und strikt kleiner als das Maximum sein muß.
  54. </para>
  55. </sect2>
  56. <sect2 id="zend.validate.set.ccnum">
  57. <title>Ccnum</title>
  58. <para>
  59. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> dem Luhn Algorithmus
  60. (mod-10 Checksumme) für Kreditkarten Nummern folgt.
  61. </para>
  62. </sect2>
  63. <sect2 id="zend.validate.set.date">
  64. <title>Date</title>
  65. <para>
  66. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> ein gültiges Datum im
  67. Format <code>YYYY-MM-DD</code> ist. Wenn die optionale <code>locale</code> Option
  68. gesetzt ist, dann wird das Datum entsprechend dem gesetzten Gebietsschemas geprüft. Und
  69. wenn die optionale <code>format</code> Option gesetzt wird, dann wird dieses Format für
  70. die Prüfung herangezogen. Für Details über die optionalen Parametern siehe
  71. <link linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>.
  72. </para>
  73. </sect2>
  74. <xi:include href="Zend_Validate-Db.xml" />
  75. <sect2 id="zend.validate.set.digits">
  76. <title>Digits</title>
  77. <para>
  78. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> nur digitale Zeichen
  79. enthält.
  80. </para>
  81. </sect2>
  82. <xi:include href="Zend_Validate-EmailAddress.xml" />
  83. <sect2 id="zend.validate.set.float">
  84. <title>Float</title>
  85. <para>
  86. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> ein Fließkomma Wert ist.
  87. Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle Gebietsschema des
  88. Browsers, der Umgebung oder eines anwendungsweit gesetzten Gebietsschemas. Man kann
  89. natürlich die Zugriffsmethoden get/setLocale verwenden um das verwendete Gebietsschema
  90. zu verändern oder es bei der Erstellung einer Instanz dieser Prüfung angeben.
  91. </para>
  92. </sect2>
  93. <sect2 id="zend.validate.set.greater_than">
  94. <title>GreaterThan</title>
  95. <para>
  96. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> größer als die Minimale
  97. Grenze ist.
  98. </para>
  99. </sect2>
  100. <sect2 id="zend.validate.set.hex">
  101. <title>Hex</title>
  102. <para>
  103. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> nur Hexadezimale
  104. Digitale Zeichen enthält.
  105. </para>
  106. </sect2>
  107. <xi:include href="Zend_Validate-Hostname.xml" />
  108. <sect2 id="zend.validate.set.iban">
  109. <title>Iban</title>
  110. <para>
  111. Gibe nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> eine gültige IBAN
  112. (Internationale Bank Account Nummer) enthält. IBAN Nummern werden gegen ein Land geprüft
  113. in dem Sie verwendet werden und durch eine Checksumme.
  114. </para>
  115. <para>
  116. Es gibt zwei Wege um IBAN Nummern zu prüfen. Als ersten Weg kann man ein Gebietsschema
  117. angeben das das Land repräsentiert. Jede angegebene IBAN Nummer wird das gegen dieses
  118. Land geprüft.
  119. </para>
  120. <programlisting language="php"><![CDATA[
  121. $validator = new Zend_Validate_Iban('de_AT');
  122. $iban = 'AT611904300234573201';
  123. if ($validator->isValid($iban)) {
  124. // IBAN scheint gültig zu sein
  125. } else {
  126. // IBAN ist ungültig
  127. foreach ($validator->getMessages() as $message) {
  128. echo "$message\n";
  129. }
  130. }
  131. ]]></programlisting>
  132. <para>
  133. Das sollte man tun wenn man IBAN Nummern gegen ein einzelnes Land prüfen will. Der
  134. einfachere Weg der Prüfung ist es kein Gebietsschema anzugeben wie im nächsten Beispiel
  135. gezeigt.
  136. </para>
  137. <programlisting language="php"><![CDATA[
  138. $validator = new Zend_Validate_Iban();
  139. $iban = 'AT611904300234573201';
  140. if ($validator->isValid($iban)) {
  141. // IBAN scheint gültig zu sein
  142. } else {
  143. // IBAN ist ungültig
  144. }
  145. ]]></programlisting>
  146. <para>
  147. Aber das zeigt ein großes Problem: Wenn man nur IBAN Nummern von einem einzelnen Land
  148. akzeptieren darf, zum Beispiel Frankreich, sind auch die IBAN Nummer von anderen Ländern
  149. gültig. Deshalb als Erinnerung: Wenn man IBAN Nummern gegen ein definiertes Land zu
  150. prüfen hat, sollte man ein Gebietsschema angeben. Und wenn man alle IBAN Nummern
  151. akzeptieren will unabhängig von irgendeinem Land kann der Einfachheit halber das
  152. Gebietsschema unterdrückt werden.
  153. </para>
  154. </sect2>
  155. <sect2 id="zend.validate.set.in_array">
  156. <title>InArray</title>
  157. <para>
  158. Gibt nur dann <constant>TRUE</constant> zurück wenn ein "needle" <code>$value</code> in einem
  159. "haystack" Array enthalten ist. Wenn die Strict Option <constant>TRUE</constant> ist, wird der
  160. Typ von <code>$value</code> auch geprüft.
  161. </para>
  162. </sect2>
  163. <sect2 id="zend.validate.set.int">
  164. <title>Int</title>
  165. <para>
  166. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> ein gültiger Integer
  167. ist. Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle Gebietsschema des
  168. Browsers, der Umgebung oder eines anwendungsweit gesetzten Gebietsschemas. Man kann
  169. natürlich die Zugriffsmethoden get/setLocale verwenden um das verwendete Gebietsschema
  170. zu verändern oder es bei der Erstellung einer Instanz dieser Prüfung angeben.
  171. </para>
  172. </sect2>
  173. <sect2 id="zend.validate.set.ip">
  174. <title>Ip</title>
  175. <para>
  176. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> eine gültige IP Adresse
  177. ist.
  178. </para>
  179. </sect2>
  180. <sect2 id="zend.validate.set.less_than">
  181. <title>LessThan</title>
  182. <para>
  183. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> kleiner als die Maximale
  184. Grenze ist.
  185. </para>
  186. </sect2>
  187. <sect2 id="zend.validate.set.not_empty">
  188. <title>NotEmpty</title>
  189. <para>
  190. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> kein leerer Wert ist.
  191. </para>
  192. </sect2>
  193. <sect2 id="zend.validate.set.regex">
  194. <title>Regex</title>
  195. <para>
  196. Gibt nur dann <constant>TRUE</constant> zurück wenn <code>$value</code> mit einem Regular
  197. Expression Pattern geprüft werden kann.
  198. </para>
  199. </sect2>
  200. <xi:include href="Zend_Validate-Sitemap.xml" />
  201. <sect2 id="zend.validate.set.string_length">
  202. <title>StringLength</title>
  203. <para>
  204. Gibt nur dann <constant>TRUE</constant> zurück wenn die Länge des Strings von
  205. <code>$value</code> mindstens ein Minimum und nicht größer als ein Maximum ist (wenn die
  206. max Option nicht <constant>NULL</constant> ist). Wirft die <code>setMin()</code> Methode eine
  207. Ausnahme wenn die minimale Länge auf einen größeren Wert gesetzt wird als die maximale
  208. Länge, und die <code>setMax()</code> Methode wirft eine Ausnahme wenn die maximale Länge
  209. auf einen kleineren Wert als die minimale Länge gesetzt wird. Seit Version 1.0.2
  210. unterstützt diese Klasse UTF-8 und andere Zeichensätze, basierend auf dem aktuellen Wert
  211. von <ulink
  212. url="http://www.php.net/manual/de/ref.iconv.php#iconv.configuration"><code>iconv.internal_encoding</code></ulink>.
  213. Wenn man ein anderes Encoding benötigt kann man es mit den Zugriffsmethoden getEncoding
  214. und setEncoding setzen.
  215. </para>
  216. </sect2>
  217. </sect1>
  218. <!--
  219. vim:se ts=4 sw=4 et:
  220. -->