jschaedl / Iban

[Deprecated] Validating and generating international :bank: bank account numbers (IBAN)
MIT License
61 stars 25 forks source link

add new Rules + Tests #2

Closed swarnat closed 10 years ago

swarnat commented 10 years ago

Hy, Alle fehlenden Rules aus dem PDF Dokument vom Juni 2013 erstellt. Zugriff auf aktuelle Dokumente leider noch nicht freigeschalten, sodass immer noch ein paar fehlen. Außerdem wäre eine Automatisierung super, wenn die BLZ ausgetauscht wird. (Feld "Nachfolgeblz" in Übersicht der Bundesbank). Da das Feld in deiner rules.php fehlt, habe ich da noch nichts unternommen. An manchen Stellen wird eine Validierung der Prüfsumme gefordert, welche ich nicht eingebaut habe. Evtl. direkt in die Bibliothek integrieren?

Folgende Rules sind dazugekommen: 000501,002001,003000,003101,003200,003301,003400,003500,003501,003600,003900,004001,004100,004200,004300,004400,004500,004600,004700 Wenn irgendwas nicht so gebaut ist, wie du es dir vorgestellt hast, bzw. ich irgendeine Funktion übersehen habe, bitte anpassen. Die Listen der Spendenkonten von Commerzbank ist ebenfalls vom Stand 06/2013.

Bei den Tests fehlen bei zwei Regeln die Einträge, da ich einfach keine bestätigten Werte finden konnte.

Stefan

jschaedl commented 10 years ago

Hallo Stefan,

ich werde die von dir hinzugefügten Regeln prüfen und ggf. Anpassungen vornehmen. Auf den ersten Blick sieht es aber sehr gut aus. Besten Dank für deine Unterstützung.

Zu deinen Vorschlägen:

  1. Die Nachfolgebankleitzahl habe ich nun in der rules.php aufgenommen, bin mir aber noch nicht sicher an welcher Stelle das Ersetzen geschehen sollte. Intuitiv würde ich die Ersetzung der Bankleitzahl in der RuleFactory::createIBANRule() Methode vornehmen. Was meinst du?
  2. Die Validierung der Prüfsumme ist nicht ganz ohne. Momentan gibt es ca. 120 verschiedenen Prüfmethoden (eine Übersicht findest du im docs Ordner). Mit der BAV Lib gibt es bereits eine PHP Bibliothek, die genau das leistet. Ich würde diese Lib am liebsten über composer einbinden und dann einfach benutzen. Allerdings ist die Bibliothek noch nicht composer konform und die einzelnen Prüfvalidatoren sind relativ eng an die internen Struktur der Bibliothek gekoppelt (siehe https://github.com/malkusch/bav/tree/master/classes/validator), was die Benutzung der Validatoren ungemein einschränkt . Eventuell ist es besser, die einzelnen Validatoren aus der Bibliothek zu exrahieren und in die Iban Bibliothek zu integrieren.

Ansonsten habe ich die beiden neuesten Übersichten der IBAN Regeln im Ordner docs abgelegt und hoffe du hast auch weiterhin Lust an der Iban Bibliothek mitzuarbeiten.

Grüße Jan