standard validator - homebeaver/ungueltig GitHub Wiki

standard-validator

Das Projekt standard-validator erweitert den apache validator und implementiert alle Algorithmen der [ISO IEC_7064]], der [ICAO und die der LUHN-Norm.

Das Programmpaket apache commons-validator ist etwas US-lastig und wird seit Jahren nur verwaltet. Es wurden keine neuen Funktionen hinzugefügt. Der Vorschlag zur Erweiterung mit Validatoren zu Leitweg-ID, französischen Handelsregister- und europäischen Steuernummern wurde nach langer Wartezeit abgelehnt weil man Wartungsaufwand scheut.

Das standard-validator jar- Artefakt berechnet und validiert

package Struktur

Da standard-validator.jar den commons.validator von apache erweitert, sind alle packages gleich benannt und genauso strukturiert. Wichtig ist der Unterschied zwischen den Paketen validator.routines.checkdigit und validator.routines.

In validator.routines.checkdigit sind Verfahren zur Berechnung und zum Validieren von Prüfziffern implementiert, nicht aber die Struktur der codes. Alle Verfahren implementieren das Interface CheckDigit mit den Methoden calculate(code) und isValid(code) und leiten sich ab von ModulusCheckDigit

abstract class AbstractCheckDigit implements CheckDigit ...
// bzw.
public abstract class ModulusCheckDigit extends AbstractCheckDigit ...
    public ModulusCheckDigit(int modulus) {
        this.modulus = modulus;
    }
    public int getModulus() {
        return modulus;
    }
    public String calculate(final String code) // implements interface mathod
...
        int modulusResult = calculateModulus(code, false);
        int charValue = (modulus - modulusResult) % modulus;
        return toCheckDigit(charValue);
    }
    protected int calculateModulus(String code, boolean includesCheckDigit) {
...
        return total % modulus;
    }
    public boolean isValid(final String code) // implements interface mathod
... 
        int modulusResult = calculateModulus(code, true);
        return modulusResult == 0;
    }

Die Validatoren in validator.routines prüfen die Struktur und Prüfziffer.

java Dokumentation

standard-validator 2.10.7 (März 2026)