| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15743 -->
- <!-- 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 language="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 language="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 <constant>TRUE</constant> zurück wenn ein "needle" <code>$value</code> in einem
- "haystack" Array enthalten ist. Wenn die Strict Option <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>TRUE</constant> 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 <constant>NULL</constant> 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:
- -->
|