Zum Hauptinhalt springen
Die Prüfung von Kundendaten deckt die Fälle ab, die WEBSALE V8s selbst beurteilen kann: Bankleitzahl, Postleitzahl, Kreditkartennummer. Was Ihr Warenwirtschaftssystem darüber hinaus erwartet, weiß nur Ihr Haus. Mit den Prüfungen von Adressdaten legen Sie das selbst fest, Feld für Feld: welche Angaben Pflicht sind, wie lang sie sein dürfen, aus welchen Zeichen sie bestehen dürfen und welche Zeichen der Shop stillschweigend entfernt. Das senkt den Klärungsaufwand, bevor eine Bestellung überhaupt entsteht. Wegweiser: Prüfung von Kundendaten festlegen Alle Einstellungen stehen in der shop.config im Abschnitt <InputCheck>.

Wie die Prüfungen arbeiten

Je Adressfeld dürfen Sie beliebig viele Prüfungen festlegen. Drei Regeln bestimmen, was daraus wird:
  • Die Prüfungen laufen in der Reihenfolge, in der sie in der shop.config stehen.
  • Schlägt eine fehl, bricht der Shop für dieses Feld ab. Die folgenden Prüfungen laufen nicht mehr.
  • Die Eingabe gilt erst als gültig, wenn sie alle Prüfungen bestanden hat.
Aus dem Abbruch beim ersten Fehler folgt eine Reihenfolge, die sich lohnt: erst „ist überhaupt etwas da”, dann „ist es nicht zu lang”, dann „besteht es aus erlaubten Zeichen”. So bekommt der Käufer die Meldung, die seinem eigentlichen Problem am nächsten kommt.

Fehlermeldungen hinterlegen

Fehlermeldungen definieren Sie einmal zentral und beziehen sich in den Prüfungen über ihre ID darauf.
Der Platzhalter ~FieldName~ setzt die Beschriftung des betroffenen Feldes ein. Deshalb taugt dieselbe Meldung für viele Felder. Die ID Default ist die Rückfallebene. Sie greift, wenn eine Prüfung keine ErrorMessageID nennt oder die genannte ID nicht existiert. Legen Sie sie auf jeden Fall an, sonst steht im Fehlerfall womöglich gar nichts da.

Zeichen automatisch entfernen

Manche Zeichen will Ihr weiterverarbeitendes System schlicht nicht sehen. Statt den Käufer damit zu behelligen, entfernt der Shop sie selbst.
Gibt eine einzelne Prüfung ihrerseits RemoveSigns an, ersetzt das die Standardbehandlung vollständig, es ergänzt sie nicht. Sollen die Standardzeichen weiterhin entfernt werden, müssen Sie sie dort wiederholen. Aus RemoveSigns = "$" im Standard und einem gewünschten zusätzlichen Leerzeichen wird also RemoveSigns = "$ ", nicht RemoveSigns = " ".
Die Standardbehandlung greift nur für Felder, für die überhaupt eine Prüfung eingetragen ist. Ein Feld ganz ohne <+InputCheck> bleibt unangetastet. Wollen Sie die Zeichenentfernung überall, legen Sie eine Prüfung mit AddressField = * und Type = nocheck an.

Eine Prüfung definieren

Je nach Prüfart kommen weitere Parameter hinzu:

Die wichtigsten Prüfarten

Der Shop kennt darüber hinaus weitere Prüfarten, unter anderem für reguläre Ausdrücke, Telefonnummern, Postleitzahlen, verbotene statt erlaubte Zeichen sowie Ausweis- und Altersprüfungen. Die vollständige Liste steht auf der Referenzseite. Kommen Sie damit für eine Anforderung nicht aus, sprechen Sie die WEBSALE AG an. Für legalsigns gibt es zwei Abkürzungen: $ALPHA steht für alle Buchstaben des ASCII-Zeichensatzes, $NUM für alle Ziffern.
Sprachspezifische Sonderzeichen sind in $ALPHA nicht enthalten. Umlaute, das ß und der Bindestrich in Doppelnamen müssen einzeln aufgeführt werden, sonst scheitert jeder Käufer, der Müller-Lüdenscheidt heißt.
Referenz: Abschnitt InputCheck

Beispiele

Pflichtfelder in einem Zug

Eine Prüfung genügt für beliebig viele Felder, solange die Regel dieselbe ist.
Ohne AddressType gilt die Prüfung für Rechnungs- und Lieferadresse.

Namen mit Umlauten und Bindestrich

Hausnummer: drei Prüfungen hintereinander

Die dritte Prüfung erlaubt nur Buchstaben und Ziffern. Leerzeichen werden vorher entfernt, das Dollarzeichen muss wiederholt werden, weil RemoveSigns die Standardbehandlung ersetzt.

E-Mail-Adresse, aber nur bei der Rechnungsadresse

Das Feld ist damit kein Pflichtfeld. Wird es ausgefüllt, muss die Adresse aber syntaktisch stimmen. Für die Pflicht brauchen Sie zusätzlich eine minlen-Prüfung.

Ein Datum im deutschen Format

DateFormat legt die Reihenfolge fest, Delimiter das Trennzeichen. FormatLeadingZero = yes wandelt die Eingabe in eine Schreibweise mit führenden Nullen um, sodass aus „1.5.2026” ein „01.05.2026” wird.

Nur Zeichen entfernen, nicht prüfen

Sinnvoll für Felder, deren Inhalt Sie nicht beurteilen können, bei denen Sie aber sicherstellen wollen, dass keine spitzen Klammern in Ihr Warenwirtschaftssystem wandern.

Zeichenentfernung für alle Felder

Das ist der bequemste Weg, die Standardbehandlung aus <InputCheckDefaults> flächendeckend greifen zu lassen. Ein technischer Feldname kann bei Rechnungs- und Lieferadresse Unterschiedliches bedeuten. Suffix1 mag in der Lieferadresse die Packstationsnummer aufnehmen und in der Rechnungsadresse etwas ganz anderes. Setzen Sie in solchen Fällen unbedingt AddressType, sonst greift die Prüfung auf beiden Seiten.

Fehlermeldung im Template positionieren

Die Meldung zu einem Feld geben Sie mit dem Tag _errormessage aus, also genau dort, wo sie hingehört.
Für die Lieferadresse gilt dasselbe mit dem Präfix D-, beispielsweise D-Suffix1_errormessage. Referenz: Tags für multiple Adressen

Verwandte Themen