Zend_Validate-Iban.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.validate.set.iban">
  5. <title>Iban</title>
  6. <para>
  7. <classname>Zend_Validate_Iban</classname> prüft ob ein angegebener Wert eine
  8. <acronym>IBAN</acronym> Nummer sein könnte. <acronym>IBAN</acronym> ist die Abkürzung für
  9. "International Bank Account Number".
  10. </para>
  11. <sect3 id="zend.validate.set.iban.options">
  12. <title>Unterstützte Optionen für Zend_Validate_Iban</title>
  13. <para>
  14. Die folgenden Optionen werden für <classname>Zend_Validate_Iban</classname> unterstützt:
  15. </para>
  16. <itemizedlist>
  17. <listitem>
  18. <para>
  19. <emphasis><property>locale</property></emphasis>: Setzt das Gebietsschema
  20. welches verwendet wird um das <acronym>IBAN</acronym> Format für die Prüfung zu
  21. erhalten.
  22. </para>
  23. </listitem>
  24. </itemizedlist>
  25. </sect3>
  26. <sect3 id="zend.validate.set.iban.basic">
  27. <title>IBAN Prüfung</title>
  28. <para>
  29. <acronym>IBAN</acronym> Nummern sind immer in Bezug zu einem Land. Dies bedeutet dass
  30. unterschiedliche Länder unterschiedliche Formate für Ihre <acronym>IBAN</acronym>
  31. Nummern verwenden. Das ist der Grund dafür warum <acronym>IBAN</acronym> nummern immer
  32. ein Gebietsschema benötigen. Wenn wir dies wissen, dann wissen wir bereits wie wir
  33. <classname>Zend_Validate_Iban</classname> verwenden können.
  34. </para>
  35. <sect4 id="zend.validate.set.iban.basic.application">
  36. <title>Anwendungsweites Gebietsschema</title>
  37. <para>
  38. Wir können das Anwendungsweite Gebietsschema verwenden. Dass bedeutet, wenn keine
  39. Option bei der Instanzierung angegeben wird, das
  40. <classname>Zend_Validate_Iban</classname> nach dem Anwendungsweiten Gebietsschema
  41. sucht. Siehe den folgenden Codeabschnitt:
  42. </para>
  43. <programlisting language="php"><![CDATA[
  44. // In der Bootstrap
  45. Zend_Registry::set('Zend_Locale', new Zend_Locale('de_AT'));
  46. // Im Modul
  47. $validator = new Zend_Validate_Iban();
  48. if ($validator->isValid('AT611904300234573201')) {
  49. // IBAN scheint gültig zu sein
  50. } else {
  51. // IBAN ist ungültig
  52. }
  53. ]]></programlisting>
  54. <note>
  55. <title>Anwendungsweites Gebietsschema</title>
  56. <para>
  57. Natürlich funktioniert dies nur wenn das Anwendungsweite Gebietsschema in der
  58. Registry vorher gesetzt wurde. Andernfalls wird
  59. <classname>Zend_Locale</classname> versuchen das Gebietsschema zu verwenden
  60. welches der Client sendet, oder wenn keines gesendet wurde, das Gebietsschema
  61. der Umgebung. Man sollte darauf achten das dies zu ungewünschtem Verhalten bei
  62. der Prüfung führen kann.
  63. </para>
  64. </note>
  65. </sect4>
  66. <sect4 id="zend.validate.set.iban.basic.false">
  67. <title>Unscharfe IBAN Prüfung</title>
  68. <para>
  69. Manchmal ist es nützlich, nur zu prüfen ob der angegebene Wert eine
  70. <acronym>IBAN</acronym> Nummer <emphasis>ist</emphasis> oder nicht. Das bedeutet
  71. das man nicht auf ein definiertes Land prüfen will. Das kann getan werden indem ein
  72. <constant>FALSE</constant> als Gebietsschema verwendet wird.
  73. </para>
  74. <programlisting language="php"><![CDATA[
  75. $validator = new Zend_Validate_Iban(array('locale' => false));
  76. // Achtung: Man kann ein FALSE auch als einzelnen Parmeter setzen
  77. if ($validator->isValid('AT611904300234573201')) {
  78. // IBAN scheint gültig zu sein
  79. } else {
  80. // IBAN ist nicht gültig
  81. }
  82. ]]></programlisting>
  83. <para>
  84. So wird <emphasis>jede</emphasis> <acronym>IBAN</acronym> Nummer gültig sein. Es
  85. ist zu beachten dass man dies nicht tun sollte wenn man nur Konten von einem
  86. einzelnen Land akzeptiert.
  87. </para>
  88. </sect4>
  89. <sect4 id="zend.validate.set.iban.basic.aware">
  90. <title>Gebietsschema verwendende IBAN Prüfung</title>
  91. <para>
  92. Um gegen ein definiertes Land zu prüfen muss man nur das gewünschte Gebietsschema
  93. angeben. Man kann dies mit der <property>locale</property> Option tun, und bei
  94. Verwendung von <methodname>setLocale()</methodname> auch im Nachhinein.
  95. </para>
  96. <programlisting language="php"><![CDATA[
  97. $validator = new Zend_Validate_Iban(array('locale' => 'de_AT'));
  98. if ($validator->isValid('AT611904300234573201')) {
  99. // IBAN scheint gültig zu sein
  100. } else {
  101. // IBAN ist ungültig
  102. }
  103. ]]></programlisting>
  104. <note>
  105. <title>Vollständig qualifizierte Gebietsschemas verwenden</title>
  106. <para>
  107. Man muss ein vollständig qualifiziertes Gebietsschema verwenden. Andernfalls
  108. kann das Land nicht korrekt erkannt werden, da gleiche Sprachen in mehreren
  109. Ländern gesprochen werden.
  110. </para>
  111. </note>
  112. </sect4>
  113. </sect3>
  114. </sect2>
  115. <!--
  116. vim:se ts=4 sw=4 et:
  117. -->