Bedeutung der Validatoren bei der Pflege textbasierter Daten

Dieser Artikel beschreibt, welche Validatoren bei der Pflege textbasierter Daten eingesetzt werden können. Dies kommt z.B. auch in den Pflegemasken des Objekt-Wizard zum Tragen.

Bei der Pflege von textbasierten Daten können die Felder auf gültige Eingaben überprüft werden. Hierzu kann innerhalb des web:text:start-Pflegekommentares das Attribut validator="" genutzt werden, welches folgende Möglichkeiten bietet.

Mögliche Werte des validator-Attributes, um eine korrekte Eingabe zu erzwingen:

  • required
    Das Feld muss einen Inhalt haben.
    Sofern das Feld nicht befüllt wird (z.B. Überschrift), erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • int
    Das Feld muss mit einem Integer befüllt sein (Ganzzahl).
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • http
    Das Feld muss mit http:// beginnen.
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • path
    Das Feld muss einen Pfad enthalten (mit Slash beginnend, z.B. /de/index.php).
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • email
    Das Feld muss eine E-Mail Adresse enthalten (z.B. mail@example.com).
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • regExp
    Das Feld muss dem angegebenen regulären Ausdruck entsprechen (z.B.: validator="/^\d{5}$/" prüft auf eine fünfstellige Zahl (z.B. Postleitzahl)).
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • customized
    Hier haben Sie die Möglichkeit eine eigene Javacript-Callbackfunktion anzugeben. Definieren Sie den Validator mit leeren Klammern und ohne Semikolon, also zB. myFunction()
    Die Deklaration der Callbackfunktion lautet in unserem Besipiel:
    myFuction = function(currInput) {};  /*currInput ist das aktuelle Inputfeld*/
    Sie können diese in der u.a. design.js einbauen.
    Beachten Sie außerdem, dass Ajax-Aufrufe in der Callbackfunktion synchron ausgeführt werden.

Beispiele für den Validator mit regulären Ausdrücken

Nachfolgend Beispiele für einen Validator des Eingabefeldes:

  • /^(\d{4})?$/
    Über diesen regEx wird das Feld darauf geprüft, ob eine vierstellige Zahl (z.B. 0001)) enthalten ist oder das Feld leer ist.
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • /^\d{4}$/
    Über diesen regEx wird das Feld auf eine vierstellige Zahl (z.B. 0001)) geprüft .
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • /^[\d]*$/
    Über diesen regEx wird das Feld darauf geprüft, ob ausschliesslich Zahlen enthalten sind  (z.B. 123456789)) oder das Feld leer ist. 
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • /^[^a-zA-Z0-9_-]$/
    Über diesen regEx wird das Feld darauf geprüft, ob andere Zeichen als Buchstaben, Zahlen, Bindestrich und Unterstrich enthalten sind  (Prüfung auf Umlaute oder Sonderzeichen, z.B. Tätigkeit oder "Titel")). 
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • /^(\d+,\d\d)$/
    Über diesen regEx wird das Feld darauf geprüft, ob das Feld eine per Komma getrennte Zahl mit zwei Nachkommastellen enthält (z.B. 29,99). Dies wird z.B. für Preisangaben im Mini-Shop Weblic® bei den Produkten verwendet.
  • /^(|.*\.(gif|jpg|jpeg|png))$/i
    Über diesen regEx wird das Feld darauf geprüft, ob eine Bilddatei enthalten ist.
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • /^(|[a-z0-9]{3}|[a-z0-9]{6})$/i
    Über diesen regEx wird das Feld darauf geprüft, ob das Feld entweder leer ist oder aus einer dreistelligen Zahlen-/Buchstabenkombination oder aus einer sechsstelligen Zahlen-/Buchstabenkombination besteht (Prüfung auf Farbwerte (ohne Hash-Zeichen), z.B. e0e0e0 oder fff für die Farbwerte #e0e0e0 bzw. #fff)). 
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • /^(|http\s?\:\/\/.*\.(gif|jpg|jpeg|png))$/i
    Über diesen regEx wird das Feld darauf geprüft, ob das Feld entweder leer ist oder mit http:// bzw. https:// beginnt, dann eine beliebige Zeichenkette enthält (bitte diesen Bereich an Ihre Bedürfnisse anpassen) und mit einer der genannten Bild-Dateiendungen endet, z.B. http://domain.dd/assets/img/bild-blau.jpg)). 
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.

Die Validierung bei Textpflegefeldern erfolgt in Javascript. Die umschliessenden Slashes sind für die Übergabe an die Engine von Weblication® notwendig.

Beispiel: Auszug aus einem XSL-Template mit gesetztem Validator

...
<!--
web:text:start editor="input" validator="required" errorMessage="" --><xsl:value-of select="wd:fragment[@id = 'text']/text()"/><!--web:text:stop-->
...