|
@@ -0,0 +1,141 @@
|
|
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
+<!-- EN-Revision: 21566 -->
|
|
|
|
|
+<!-- 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:
|
|
|
|
|
+-->
|