Prüfungen von Adressdaten festlegen

Zusätzlich zu der Prüfung von Kundendaten (Wegweiser: Prüfung von Kundendaten festlegen) können Sie mithilfe der Prüfungen von Adressdaten auch diese eingegebenen Kundendaten nach Ihren Anforderungen inhaltlich und syntaktisch prüfen lassen. Durch die Prüfungen können Sie auch Pflichtfelder definieren, welche ein Käufer ausfüllen muss. Dadurch kann die Qualität der Daten weiter erhöht und der manuelle Klärungsaufwand gesenkt werden.

Sie können für jedes Adressfeld eine oder mehrere Prüfungen festlegen. Zu jeder Prüfung können Sie eine eigene Fehlermeldung hinterlegen, welche angezeigt wird, wenn die Eingabe die Prüfung nicht bestanden hat.
Die Prüfungen werden für jedes Adressfeld in der Reihenfolge angewendet, in der sie in der Shopkonfiguration shop.config aufgeführt sind. Schlägt eine Prüfung fehl, wird dieses Adressfeld nicht weiter geprüft. Eine Eingabe wird erst akzeptiert, wenn sie alle festgelegten Prüfungen bestanden hat.

Zusätzlich besteht die Möglichkeit, nicht erlaubte bzw. nicht erwünschte Zeichen automatisch aus der Eingabe entfernen zu lassen.

Siehe auch Wegweiser: Einstellungen für Rechnungs- und Lieferadressen festlegen

Konfiguration

Die Einstellungen für die Prüfung von Adressdaten nehmen Sie in der Shopkonfiguration shop.config im Abschnitt InputCheck vor.


Hinweis:

Es steht Ihnen eine Auswahl verschiedener Prüfungen zur Verfügung. Sollten Sie dennoch eine spezielle Anforderung an ein Eingabefeld nicht prüfen können, kontaktieren Sie bitte die die WEBSALE AG.

Referenz: Abschnitt InputCheck

Tags

Sie können die Fehlermeldung der fehlgeschlagenen Prüfung für ein Eingabefeld auch einzeln positionieren, z. B.:

A-Company_errormessage: Anzeige der Fehlermeldung, wenn die Eingabe der Firma (Rechnungsadresse) fehlerhaft war.

D-Suffix1_errormessage: Anzeige der Fehlermeldung, wenn die Eingabe des Felds Suffix1 (Lieferadresse) fehlerhaft war.

Referenz: Tags für multiple Adressen

Beispiele

Festlegen der Fehlermeldungen

<InputCheck>
   ...
   <ErrorMessages>
      Default           =   ~FieldName~: Ungültige Eingabe
      numbererror       =   ~FieldName~: Bitte geben Sie eine Ziffer ein.
      street2error      =   ~FieldName~: Bitte geben Sie eine korrekte Hausnummer an.
      emptyerror        =   Bitte füllen Sie das Feld ~FieldName~ aus.
      toolongerror      =   Ihre Eingabe im Feld ~FieldName~ ist zu lang. Bitte kürzen Sie Ihre Eingabe.
      emailwrong        =   Die angegebene E-Mail-Adresse ist ungültig.
      dateerror         =   ~FieldName~: Ungültiges Datum. Bitte geben Sie ein korrektes Datum ein.
   </ErrorMessages>
   ...
</InputCheck>

Die Fehlermeldungen sind für die folgenden Beispiele festgelegt. Schlägt eine Prüfung fehl, so wird die Fehlermeldung mit der bei der Prüfung hinterlegten ID angezeigt (Parameter ErrorMessageID). Kann die Fehlermeldung mit der angegebenen ID nicht gefunden werden oder ist keine ID angegeben, wird die Fehlermeldung mit der ID Default verwendet.

Festlegen der Standardeinstellungen aller Prüfungen

<InputCheck>
   ...
   <InputCheckDefaults>
      RemoveSigns       =   "$"
   </InputCheckDefaults>
   ...
</InputCheck>

In diesem Beispiel akzeptiert das System, welches die Bestellungen automatisiert weiterverarbeitet, kein Dollarzeichen, daher wird bei allen Prüfungen das Dollarzeichen durch diesen Parameter entfernt (soweit bei den folgenden, einzelnen Prüfungen nichts anderes angegeben ist).

Prüfungen der Hausnummer (Pflichtfeld, maximale Länge, Inhalt)

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   Street2
      Type             =   minlen
      Len              =   1
      ErrorMessageID   =   emptyerror
   </+InputCheck>
   <+InputCheck>
      AddressField     =   Street2
      Type             =   maxlen
      Len              =   10
      ErrorMessageID   =   toolongerror
   </+InputCheck>
   <+InputCheck>
      AddressField     =   Street2
      Type             =   legalsigns
      Signs            =   "$ALPHA$NUM"
      RemoveSigns      =   "$ "
      ErrorMessageID   =   street2error
   </+InputCheck>
   ...
</InputCheck>

Durch $ALPHA werden alle Buchstaben des ASCII-Zeichensatzes, durch $NUM alle Ziffern angegeben.

Im Eingabefeld mit der technischen ID Street2 wird die Hausnummer aufgenommen.
In der ersten Prüfung wird festgelegt, dass dieses Feld ein Pflichtfeld ist: die Mindesteingabelänge ist 1.
In der zweiten Prüfung wird eine maximale Länge von 10 Zeichen festgelegt, da das weiterverarbeitende System in diesem Beispiel nur maximal 10 Zeichen akzeptiert.
In der dritten Prüfung wird festgelegt, dass die Eingabe nur aus Nummern und Buchstaben des ASCII-Zeichensatzes bestehen darf. Leerzeichen werden automatisch entfernt.

Da das weiterverarbeitende System das Dollarzeichen nicht akzeptiert und durch die Angabe des Parameters RemoveSigns die Standardbehandlung überschrieben wird, muss das Dollarzeichen zusammen mit dem Leerzeichen im Parameter RemoveSigns angegeben werden.
Diese 3 Prüfungen werden sowohl bei der Rechnungs- als auch bei der Lieferadresse angewendet.

Beachten Sie, dass zulässige sprachspezifische Sonderzeichen wie deutsche Umlaute oder Bindestriche in Doppelnamen explizit aufgeführt werden müssen, um in einem Eingabefeld akzeptiert zu werden. Der Wert des Parameters Signs im folgenden Beispiel gibt an, dass zusätzlich zu Buchstaben des ASCII-Zeichensatzes auch Namen akzeptiert werden, die die angegebenen deutschen Sonderzeichen, Leerzeichen und Bindestriche enthalten:

Beispiel:

<InputCheck>
   ...
   <+InputCheck>
      AddressField     = FirstName,LastName
      Type             = legalsigns
      Signs            = "$ALPHAß- äÄüÜöÖ"
      ErrorMessageID   = Default
   </+InputCheck>
   ...
</InputCheck>

Prüfung aller Pflichtfelder

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   FirstName,LastName,Street1,Street2,Country,ZIP,City
      Type             =   minlen
      Len              =   1
      ErrorMessageID   =   emptyerror
   </+InputCheck>  
   ...
</InputCheck>

In der Prüfung wird festgelegt, dass dieses Feld ein Pflichtfeld ist: die Mindesteingabelänge ist 1.
Durch die Angabe aller technischen IDs der betroffenen Eingabefelder als kommaseparierte Liste wird diese Prüfung für alle Eingabefelder aus dieser Liste durchgeführt.

Prüfung der E-Mail-Adresse (korrekte E-Mail-Adresse der Rechnungsadresse)

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   E-Mail
      AddressType      =   bill
      Type             =   email
      ErrorMessageID   =   emailwrong
   </+InputCheck>
   ...
</InputCheck>

Im Eingabefeld mit der technischen ID E-Mail wird die E-Mailadresse aufgenommen. Die E-Mailadresse ist kein Pflichtfeld, wenn eine E-Mailadresse angegeben ist, muss diese allerdings korrekt sein.
Durch die Angabe AddressType = bill wird diese Prüfung nur bei der Rechnungsadresse angewendet.

Prüfung des Firmennamens (Pflichtfeld bei der Rechnungsadresse)

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   Company
      AddressType      =   bill
      Type             =   minlen
      Len              =   1
   </+InputCheck>
   ...
</InputCheck>

Im Eingabefeld mit der technischen ID Company wird die Firmenadresse aufgenommen. Die Firmenadresse ist ein Pflichtfeld. Ist diese nicht angegeben, soll die Standardfehlermeldung (siehe oben) angezeigt werden. Dies wird festgelegt, indem der Parameter ErrorMessageID nicht angegeben wird.
Durch die Angabe AddressType = bill wird diese Prüfung nur bei der Rechnungsadresse angewendet.

Prüfungen der Packstation (kein Pflichtfeld, Inhalt, nur bei der Lieferadresse)

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   Suffix1
      AddressType      =   delivery
      Type             =   number
      RemoveSigns      =   "$ "
      ErrorMessageID   =   numbererror
   </+InputCheck>
   ...
</InputCheck>

Im Eingabefeld mit der technischen ID Suffix1 wird (nur bei der Lieferadresse) die Nummer der Packstation aufgenommen.
Dies ist kein Pflichtfeld, jedoch wenn eine ID angegeben ist, muss dies eine Nummer sein.
Leerzeichen sollen automatisch entfernt werden. Da das weiterverarbeitende System das Dollarzeichen nicht akzeptiert und durch die Angabe des Parameters RemoveSigns die Standardbehandlung (siehe oben) überschrieben wird, muss das Dollarzeichen zusammen mit dem Leerzeichen im Parameter RemoveSigns angegeben werden.
Durch die Angabe AddressType = delivery wird diese Prüfung nur bei der Lieferadresse angewendet.

Prüfungen des Wunschlieferdatums (kein Pflichtfeld, korrektes Datum, Formatierung, nur Rechnungsadresse)

<InputCheck>
   ...
   <+InputCheck>
      AddressField      =   Suffix7
      AddressType       =   bill
      Type              =   date
      DateFormat        =   DMY
      Delimiter         =   .
      FormatLeadingZero =   yes
      ErrorMessageID    =   dateerror
   </+InputCheck>
   ...
</InputCheck>

Im Eingabefeld mit der technischen ID Suffix7 wird das Wunschlieferdatum aufgenommen. Dies ist kein Pflichtfeld, ein eingegebenes Datum muss allerdings korrekt sein.
Die Reihenfolge der Datumsangabe wird durch die Angabe von DateFormat = DMY mit Tag Monat Jahr festgelegt.
Durch die Angabe von Delimiter = . wird als Trennzeichen ein Punkt verwendet.
Durch die Angabe von FormatLeadingZero = yes wird die Eingabe immer in eine Datumsangabe mit führenden Nullen umgewandelt.
Durch die Angabe AddressType = bill wird diese Prüfung nur bei der Rechnungsadresse angewendet.

Prüfung der Personalausweisnummer (kein Pflichtfeld, keine Prüfung sondern nur Entfernen von speziellen ungültigen Zeichen, nur Rechnungsadresse)

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   Suffix1
      AddressType      =   bill
      Type             =   nocheck
      RemoveSigns      =   "$<>"
   </+InputCheck>
   ...
</InputCheck>

Im Eingabefeld mit der technischen ID Suffix1 wird (nur bei der Rechnungsadresse) die Personalausweisnummer aufgenommen.
Dies ist kein Pflichtfeld. Wenn eine Personalausweisnummer angegeben ist, soll keine inhaltliche Prüfung erfolgen, sondern nur die Zeichen < und > entfernt werden. Durch die Angabe des Parameters Type = nocheck wird keine Prüfung des Inhalts durchgeführt, die durch den Parameter RemoveSigns angegeben Zeichen werden allerdings entfernt.
Da das weiterverarbeitende System das Dollarzeichen nicht akzeptiert und durch die Angabe des Parameters RemoveSigns die Standardbehandlung (siehe oben) überschrieben wird, muss das Dollarzeichen zusammen mit den Zeichen < und > im Parameter RemoveSigns angegeben werden.
Durch die Angabe AddressType = bill wird diese Prüfung nur bei der Rechnungsadresse angewendet.


Hinweis:

WEBSALE bietet Ihnen auch eine inhaltliche Prüfung der Personalausweisnummer an. Alle Informationen hierzu finden Sie in folgendem Topic:
Wegweiser: Prüfung der Ausweisnummer und Altersnachweis

 

Prüfung des Adresszusatzes (kein Pflichtfeld, keine Prüfung, nur Standardbehandlung zum Entfernen von ungültigen Zeichen)

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   Suffix5
      Type             =   nocheck
   </+InputCheck>
   ...
</InputCheck>

Im Eingabefeld mit der technischen ID Suffix5 wird der Adresszusatz aufgenommen.
Dies ist kein Pflichtfeld, es soll keine inhaltliche Prüfung erfolgen, sondern nur die in der Standardbehandlung (Sektion <InputCheckDefaults>, Parameter RemoveSigns) angegebenen Zeichen entfernt werden (siehe oben).
Durch die Angabe des Parameters Type = nocheck wird keine Prüfung des Inhalts durchgeführt.
Diese Prüfung muss für jedes Eingabefeld, bei dem nur die Standardbehandlung angewendet werden soll, festgelegt werden!

Entfernen von ungültigen Zeichen aus allen Eingabefeldern

<InputCheck>
   ...
   <+InputCheck>
      AddressField     =   *
      Type             =   nocheck
   </+InputCheck>
   ...
</InputCheck>

Durch die Angabe von * als technische ID des Adressfeldes wird diese Prüfung für alle vorhandenen Eingabefelder durchgeführt.
Durch die Angabe des Parameters Type = nocheck wird keine Prüfung des Inhalts durchgeführt, sondern nur die in der Standardbehandlung (Sektion <InputCheckDefaults>, Parameter RemoveSigns) angegebenen Zeichen entfernt werden (siehe oben).

Referenz: Abschnitt InputCheck