| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.validate.set.iban">
- <title>Iban</title>
- <para>
- <classname>Zend_Validate_Iban</classname> prüft ob ein angegebener Wert eine
- <acronym>IBAN</acronym> Nummer sein könnte. <acronym>IBAN</acronym> ist die Abkürzung für
- "International Bank Account Number".
- </para>
- <sect3 id="zend.validate.set.iban.options">
- <title>Unterstützte Optionen für Zend_Validate_Iban</title>
- <para>
- Die folgenden Optionen werden für <classname>Zend_Validate_Iban</classname> unterstützt:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis><property>locale</property></emphasis>: Setzt das Gebietsschema
- welches verwendet wird um das <acronym>IBAN</acronym> Format für die Prüfung zu
- erhalten.
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
- <sect3 id="zend.validate.set.iban.basic">
- <title>IBAN Prüfung</title>
- <para>
- <acronym>IBAN</acronym> Nummern sind immer in Bezug zu einem Land. Dies bedeutet dass
- unterschiedliche Länder unterschiedliche Formate für Ihre <acronym>IBAN</acronym>
- Nummern verwenden. Das ist der Grund dafür warum <acronym>IBAN</acronym> nummern immer
- ein Gebietsschema benötigen. Wenn wir dies wissen, dann wissen wir bereits wie wir
- <classname>Zend_Validate_Iban</classname> verwenden können.
- </para>
- <sect4 id="zend.validate.set.iban.basic.application">
- <title>Anwendungsweites Gebietsschema</title>
- <para>
- Wir können das Anwendungsweite Gebietsschema verwenden. Dass bedeutet, wenn keine
- Option bei der Instanzierung angegeben wird, das
- <classname>Zend_Validate_Iban</classname> nach dem Anwendungsweiten Gebietsschema
- sucht. Siehe den folgenden Codeabschnitt:
- </para>
- <programlisting language="php"><![CDATA[
- // In der Bootstrap
- Zend_Registry::set('Zend_Locale', new Zend_Locale('de_AT'));
- // Im Modul
- $validator = new Zend_Validate_Iban();
- if ($validator->isValid('AT611904300234573201')) {
- // IBAN scheint gültig zu sein
- } else {
- // IBAN ist ungültig
- }
- ]]></programlisting>
- <note>
- <title>Anwendungsweites Gebietsschema</title>
- <para>
- Natürlich funktioniert dies nur wenn das Anwendungsweite Gebietsschema in der
- Registry vorher gesetzt wurde. Andernfalls wird
- <classname>Zend_Locale</classname> versuchen das Gebietsschema zu verwenden
- welches der Client sendet, oder wenn keines gesendet wurde, das Gebietsschema
- der Umgebung. Man sollte darauf achten das dies zu ungewünschtem Verhalten bei
- der Prüfung führen kann.
- </para>
- </note>
- </sect4>
- <sect4 id="zend.validate.set.iban.basic.false">
- <title>Unscharfe IBAN Prüfung</title>
- <para>
- Manchmal ist es nützlich, nur zu prüfen ob der angegebene Wert eine
- <acronym>IBAN</acronym> Nummer <emphasis>ist</emphasis> oder nicht. Das bedeutet
- das man nicht auf ein definiertes Land prüfen will. Das kann getan werden indem ein
- <constant>FALSE</constant> als Gebietsschema verwendet wird.
- </para>
- <programlisting language="php"><![CDATA[
- $validator = new Zend_Validate_Iban(array('locale' => false));
- // Achtung: Man kann ein FALSE auch als einzelnen Parmeter setzen
- if ($validator->isValid('AT611904300234573201')) {
- // IBAN scheint gültig zu sein
- } else {
- // IBAN ist nicht gültig
- }
- ]]></programlisting>
- <para>
- So wird <emphasis>jede</emphasis> <acronym>IBAN</acronym> Nummer gültig sein. Es
- ist zu beachten dass man dies nicht tun sollte wenn man nur Konten von einem
- einzelnen Land akzeptiert.
- </para>
- </sect4>
- <sect4 id="zend.validate.set.iban.basic.aware">
- <title>Gebietsschema verwendende IBAN Prüfung</title>
- <para>
- Um gegen ein definiertes Land zu prüfen muss man nur das gewünschte Gebietsschema
- angeben. Man kann dies mit der <property>locale</property> Option tun, und bei
- Verwendung von <methodname>setLocale()</methodname> auch im Nachhinein.
- </para>
- <programlisting language="php"><![CDATA[
- $validator = new Zend_Validate_Iban(array('locale' => 'de_AT'));
- if ($validator->isValid('AT611904300234573201')) {
- // IBAN scheint gültig zu sein
- } else {
- // IBAN ist ungültig
- }
- ]]></programlisting>
- <note>
- <title>Vollständig qualifizierte Gebietsschemas verwenden</title>
- <para>
- Man muss ein vollständig qualifiziertes Gebietsschema verwenden. Andernfalls
- kann das Land nicht korrekt erkannt werden, da gleiche Sprachen in mehreren
- Ländern gesprochen werden.
- </para>
- </note>
- </sect4>
- </sect3>
- </sect2>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|