Validatoren

Zuletzt geändert von superadmin am 24.01.2017

Die häufigst genutzten Datentypen stehen bereits zur Auswahl und können direkt genutzt. Es ist aber auch möglich, eigene Datentypen und Validatoren zu definieren.

Eingebaute Validatoren

Name XM_FORM_VRULES Beschreibung
Text-Standardeinstellung. Die Eingabe wird nicht validiert. Alle Zeichen sind erlaubt.
Buchstaben & LeerzeichenonlyLetterSpEs sind nur Buchstaben (UTF-8) und Leerzeichen erlaubt. Die Eingabe von landesspezifischen  Sonderzeichen (z.B. öäü) ist erlaubt!
Buchstaben, Zahlen und LeerzeichenonlyLetterNumberEs sind nur Buchstaben (UTF-8), Zahlen und Leerzeichen erlaubt. Die Eingabe von landesspezifischen  Sonderzeichen (z.B. öäü) ist erlaubt!
GanzzahlintegerEs sind nur Zahlen - ohne Punkt und Komma - erlaubt. (z.B. 100 oder -100)
Positive GanzzahlposintegerEs sind nur positive Zahlen - ohne Punkt und Komma - erlaubt. (z.B. 100)
ZahlnumberEs sind nur Zahlen - ohne Punkt jedoch mit Komma - erlaubt. (z.B. 100 oder -100 oder 100,10 ...)
GeldbetragmoneyGeldbetrag ohne Tausendertrennziechen aber mit Nachkommastellen. (z.B. 100,00)
Positiver GeldbetragposmoneyPositiver Geldbetrag ohne Tausendertrennziechen aber mit Nachkommastellen. (z.B. 100,00)
Positiver Geldbetrag (opt. Nachkomma)posmoneyOptionalCommaPositiver Geldbetrag ohne Tausendertrennziechen mit optionalen Nachkommastellen. (z.B. 100,00)
E-MailemailE-Mail Validator (internationale E-Mailadresse,eai)
Datum (DD.MM.YYYY)datumDEDatum-Validator der das Datum auf die Syntax "DD.MM.YYYY" prüft. (z.B. 01.01.2015)
UhrzeittimePrüft die Eingabe auf das Format "mm:hh". (z.B. 01:30 oder 13:30)
Postleitzahl (Deutschland)plzDEPrüft die Syntax einer deutschen Postleitzahl. (5 Zahlen)
TelefonnummerphoneTelefonnummer (z.B. +49 351 810 500 oder 0049-351-810-500 oder  0049/351/810/500 -> nicht +49 (0)351 810 500)
URLurlURL (z.B. http://www.xima.de oder https://www.xima.de oder ftp://ftp.xima.de)
IP Adresseipv4IP V4 Adresse (z.B. 127.0.0.1 oder 192.168.0.255)

Serverseitige Validierung

Durch Aktivierung der serverseitigen Validierung werden die Daten zusätzlich vom Server geprüft, um Manipulationen ausschließen zu können.

Alle in den Bedingungen -> Datentyp verfügbaren Validatoren und anderen Einstellungen ermöglichen eine client- und serverseitige Validierung. Clientseitig bedeutet: Die Validierung erfolgt direkt im Browser und serverseitig: Die Validierung erfolg zusätzlich noch einmal auf dem Server. Werden eigene Validatoren im Scriptbereich geschrieben, sind dies ausschließlich clientseitige Validierungen. Dies gilt auch für das Überschreiben bestehender Validatoren. Wenn Sie einen Validator im Scriptbereich überschreiben (Siehe nächsten Abschnitt) dürfen Sie nicht die Option "Prüfe serverseitig" aktivieren, da es sonst immer zu Validerungsfehlern kommen wird.

Validierung mittels regulären Ausdrücken

Überschreiben eines vorhandenen Validators.
Hinzufügen eines eigenen regulären Ausdrucks als Validator. Hier das HTML-Attribut vdt des Elements auf den Namen des Validators gesetzt werden.

Alle im Formulardesigner zur Verfügung stehenden Validatoren bzw. Datentypen können im Scriptbereich überschrieben werden. Die Validatoren befinden sich im JavaScript-Objekt XM_FORM_VRULES.

Um z.B. den Validator Geldbetrag so zu ändern, das statt einem Punkt ein Komma als Trennzeichen akzeptiert wird, fügen Sie folgenden Code im Scriptbereich ein.

XM_FORM_VRULES.money = /^-{0,1}([0]{1}|[1-9]{1}[0-9]*)[.]{1}[0-9]{2}$/;

Neben dem Ändern der Validierung kann ebenfalls der Fehlertext entsprechend angepasst werden. Hierfür steht das Javascript-Objekt XM_FORM_I18N zur Verfügung. Die Namen der Fehlertexte in dem Objekt sind analog zu denen im Objekt XM_FORM_VRULES. Hier ein Beispiel für das Ändern eines Fehlertextes.

XM_FORM_I18N.money = 'Bitte verwenden Sie als Trennzeichen einen Punkt (z.B. 100.00)';

Zudem ist es möglich, in die Objekte XM_FORM_VRULES und XM_FORM_I18N eigene Einträge hinzuzufügen. Um diesen Validator an einem Textfeld zu verwenden, muss diesem Textfeld der entsprechende Wert für das HTML-Attribut vdt gegeben werden. Beispielsweise ein Validator für Zahlen mit maximal fünf Stellen und zwei Nachkommastellen erstellt werden. Fügen Sie zuerst folgenden Code im Scriptbereich ein.

  XM_FORM_VRULES.number_5_2 = new RegExp(/^([0]{1}|[1-9]{1}[0-9]{0,5})[,]{1}[0-9]{2}$/);
  XM_FORM_I18N.number_5_2 = "Bitte geben Sie eine Fließkommazahl ein mit maximal 5 Stellen und 2 Nachkommastellen ein";

Um diesen Validator mit dem Namen number_5_2 zur Validierung eines Textfeldes zu nutzen, geben Sie dem Textfeld das HTML-Attribut vdt mit dem Wert number_5_2.

Eigene Validatoren im Scriptbereich schreiben

Für das Definieren eigener Validatoren steht im Scriptbereich die Funktion "errorFunc()" zur Verfügung.

Beispiele

function getErrorMsg(){
   var el = $(this),
    msg = el.attr('name') + ' ist Fehlerhaft (a)';
   return (el.val() == 'a') ? msg : '';
}

$('[name=tf1]').errorFunc(getErrorMsg); //Bei Eingabe von "a" in tf1 erscheint ein Fehler.

Eine weitere Möglichkeit besteht in der Nutzung der Funktion error(String msg).

$('[name=tf1]').error('Falsche Eingabe.'); //Es ercheint der Fehler "Falsche Eingabe" am element tf1.
$('[name=tf1]').error(''); //Entfernt einen zuvor gesetzten Fehler am Element tf1.
Erstellt von superadmin am 21.09.2015
  
Copyright 2000-2018