| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15157 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>Standard Prüfklassen</title>
- <para>
- Zend Framework kommt mit einem Standardset von Prüfklassen, welche fertig zur Verwendung sind.
- </para>
- <sect2 id="zend.validate.set.alnum">
- <title>Alnum</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> nur alphabetische
- und digitale Zeichen enthält. Dieser Prüfer enthält eine Option um auszuwählen ob
- Leerzeichen als gültig anzusehen sind.
- </para>
- <note>
- <para>
- Alphabetische Zeichen bedeuten Zeichen die in jeder Spache Wörter bilden. Trotzdem wird das
- englische Alphabet in den folgenden Sprachen für alphabethische Zeichen verwendet:
- Chinesisch, Japanisch, Koreanisch. Die Sprache wurde von Zend_Locale spezifiziert.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.validate.set.alpha">
- <title>Alpha</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> nur alphabetische
- Zeichen enthält. Dieser Prüfer enthält eine Option um auszuwählen ob Leerzeichen
- als gültig anzusehen sind.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.barcode">
- <title>Barcode</title>
- <para>
- Dieser Prüfer wird mit einem Barcode Typ instanziert gegen den ein Barcode Wert geprüft
- werden soll. Aktuell werden die "<code>UPC-A</code>" (Universal Product Code) und
- "<code>EAN-13</code>" (European Article Number) Barcode Typen unterstützt, und die
- <code>isValid()</code> Methode gibt dann und nur dann true zurück wenn die Eingabe
- erfolgreich gegen den Barcode Prüfalgorithmus geprüft wurde. Es sollten alle von den
- Ziffern 0 bis 9 (0-9) unterschiedliche Zeichen vom Eingabewert entfernt werden bevor
- dieser an den Prüfer übergeben wird.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.between">
- <title>Between</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> zwischen dem minimalen und
- maximalen Grenzwert ist. Der Vergleich ist standardmäßig inklusive (<code>$value</code> kann
- gleich dem Grenzwert sein), kann aber überschrieben werden um einen strikten Vergleich dort
- durchzuführen wo <code>$value</code> strikt größer als das Minimum und strikt kleiner als das
- Maximum sein muß.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.ccnum">
- <title>Ccnum</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> dem Luhn Algorithmus (mod-10
- Checksumme) für Kreditkarten Nummern folgt.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.date">
- <title>Date</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> ein gültiges Datum im Format
- <code>YYYY-MM-DD</code> ist. Wenn die optionale <code>locale</code> Option gesetzt ist, dann wird
- das Datum entsprechend dem gesetzten Gebietsschemas geprüft. Und wenn die optionale
- <code>format</code> Option gesetzt wird, dann wird dieses Format für die Prüfung herangezogen.
- Für Details über die optionalen Parametern siehe
- <link linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>.
- </para>
- </sect2>
- <xi:include href="Zend_Validate-Db.xml" />
- <sect2 id="zend.validate.set.digits">
- <title>Digits</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> nur digitale Zeichen enthält.
- </para>
- </sect2>
- <xi:include href="Zend_Validate-EmailAddress.xml" />
- <sect2 id="zend.validate.set.float">
- <title>Float</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> ein Fließkomma Wert ist.
- Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle Gebietsschema des Browsers,
- der Umgebung oder eines anwendungsweit gesetzten Gebietsschemas. Man kann natürlich die
- Zugriffsmethoden get/setLocale verwenden um das verwendete Gebietsschema zu verändern oder es
- bei der Erstellung einer Instanz dieser Prüfung angeben.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.greater_than">
- <title>GreaterThan</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> größer als die Minimale Grenze ist.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.hex">
- <title>Hex</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> nur Hexadezimale Digitale Zeichen
- enthält.
- </para>
- </sect2>
- <xi:include href="Zend_Validate-Hostname.xml" />
- <sect2 id="zend.validate.set.iban">
- <title>Iban</title>
- <para>
- Gibe nur dann <code>true</code> zurück wenn <code>$value</code> eine gültige IBAN (Internationale
- Bank Account Nummer) enthält. IBAN Nummern werden gegen ein Land geprüft in dem Sie verwendet
- werden und durch eine Checksumme.
- </para>
- <para>
- Es gibt zwei Wege um IBAN Nummern zu prüfen. Als ersten Weg kann man ein Gebietsschema angeben das
- das Land repräsentiert. Jede angegebene IBAN Nummer wird das gegen dieses Land geprüft.
- </para>
- <programlisting role="php"><![CDATA[
- $validator = new Zend_Validate_Iban('de_AT');
- $iban = 'AT611904300234573201';
- if ($validator->isValid($iban)) {
- // IBAN scheint gültig zu sein
- } else {
- // IBAN ist ungültig
- foreach ($validator->getMessages() as $message) {
- echo "$message\n";
- }
- }
- ]]></programlisting>
- <para>
- Das sollte man tun wenn man IBAN Nummern gegen ein einzelnes Land prüfen will. Der einfachere
- Weg der Prüfung ist es kein Gebietsschema anzugeben wie im nächsten Beispiel gezeigt.
- </para>
- <programlisting role="php"><![CDATA[
- $validator = new Zend_Validate_Iban();
- $iban = 'AT611904300234573201';
- if ($validator->isValid($iban)) {
- // IBAN scheint gültig zu sein
- } else {
- // IBAN ist ungültig
- }
- ]]></programlisting>
- <para>
- Aber das zeigt ein großes Problem: Wenn man nur IBAN Nummern von einem einzelnen Land akzeptieren
- darf, zum Beispiel Frankreich, sind auch die IBAN Nummer von anderen Ländern gültig. Deshalb als
- Erinnerung: Wenn man IBAN Nummern gegen ein definiertes Land zu prüfen hat, sollte man ein
- Gebietsschema angeben. Und wenn man alle IBAN Nummern akzeptieren will unabhängig von irgendeinem
- Land kann der Einfachheit halber das Gebietsschema unterdrückt werden.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.in_array">
- <title>InArray</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn ein "needle" <code>$value</code> in einem "haystack"
- Array enthalten ist. Wenn die Strict Option <code>true</code> ist, wird der Typ von
- <code>$value</code> auch geprüft.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.int">
- <title>Int</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> ein gültiger Integer ist.
- Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle Gebietsschema des Browsers,
- der Umgebung oder eines anwendungsweit gesetzten Gebietsschemas. Man kann natürlich die
- Zugriffsmethoden get/setLocale verwenden um das verwendete Gebietsschema zu verändern oder es
- bei der Erstellung einer Instanz dieser Prüfung angeben.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.ip">
- <title>Ip</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> eine gültige IP Adresse ist.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.less_than">
- <title>LessThan</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> kleiner als die Maximale Grenze ist.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.not_empty">
- <title>NotEmpty</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> kein leerer Wert ist.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.regex">
- <title>Regex</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn <code>$value</code> mit einem Regular Expression Pattern
- geprüft werden kann.
- </para>
- </sect2>
- <xi:include href="Zend_Validate-Sitemap.xml" />
- <sect2 id="zend.validate.set.string_length">
- <title>StringLength</title>
- <para>
- Gibt nur dann <code>true</code> zurück wenn die Länge des Strings von <code>$value</code>
- mindstens ein Minimum und nicht größer als ein Maximum ist (wenn die max Option nicht
- <code>null</code> ist). Wirft die <code>setMin()</code> Methode eine Ausnahme wenn die minimale
- Länge auf einen größeren Wert gesetzt wird als die maximale Länge, und die <code>setMax()</code>
- Methode wirft eine Ausnahme wenn die maximale Länge auf einen kleineren Wert als die minimale
- Länge gesetzt wird. Seit Version 1.0.2 unterstützt diese Klasse UTF-8 und andere Zeichensätze,
- basierend auf dem aktuellen Wert von
- <ulink url="http://www.php.net/manual/de/ref.iconv.php#iconv.configuration"><code>iconv.internal_encoding</code></ulink>.
- Wenn man ein anderes Encoding benötigt kann man es mit den Zugriffsmethoden getEncoding und
- setEncoding setzen.
- </para>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|