| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17172 -->
- <!-- 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 <varname>$value</varname> 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
- <classname>Zend_Locale</classname> spezifiziert.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.validate.set.alpha">
- <title>Alpha</title>
- <para>
- Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> 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
- <methodname>isValid()</methodname> 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 <varname>$value</varname> zwischen
- dem minimalen und maximalen Grenzwert ist. Der Vergleich ist standardmäßig inklusive
- (<varname>$value</varname> kann gleich dem Grenzwert sein), kann aber überschrieben
- werden um einen strikten Vergleich dort durchzuführen wo <varname>$value</varname>
- 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 <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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.identical">
- <title>Identical</title>
- <para>
- Gibt nur dann <constant>TRUE</constant> zurück wenn der angegebene Token mit
- <varname>$value</varname> identisch ist. Diese Prüfung kann jeden beliebigen Typ
- handhaben.
- </para>
- <para>
- Der Token gegen den geprüft werden soll kann entweder als Parameter bei der
- Instanziierung gesetzt werden, oder durch die Verwendung der
- <methodname>setToken()</methodname> Methode.
- </para>
- <programlisting language="php"><![CDATA[
- // Setzen des Token bei der Instanziierung
- $validator = new Zend_Validate_Identical(array('one' => 'two'));
- if ($validator->isValid(array('one' => 'two'))) { // Token gültig
- // Irgendwas machen
- }
- // Setzen des Tokens durch Verwendung von setToken()
- $validator->setToken(true);
- if ($validator->isValid(1)) { // Token gültig
- // Irgendwas machen
- }
- ]]></programlisting>
- </sect2>
- <sect2 id="zend.validate.set.in_array">
- <title>InArray</title>
- <para>
- Gibt nur dann <constant>TRUE</constant> zurück wenn ein "needle"
- <varname>$value</varname> in einem "haystack" Array enthalten ist. Wenn die Strict
- Option <constant>TRUE</constant> ist, wird der Typ von <varname>$value</varname> auch
- geprüft.
- </para>
- </sect2>
- <sect2 id="zend.validate.set.int">
- <title>Int</title>
- <para>
- Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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 <varname>$value</varname> 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
- <varname>$value</varname> mindstens ein Minimum und nicht größer als ein Maximum ist
- (wenn die max Option nicht <constant>NULL</constant> ist). Wirft die
- <methodname>setMin()</methodname> Methode eine Ausnahme wenn die minimale Länge auf
- einen größeren Wert gesetzt wird als die maximale Länge, und die
- <methodname>setMax()</methodname> 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:
- -->
|