Validatoren
Eingebaute Validatoren
Name | XM_FORM_VRULES | Beschreibung |
---|---|---|
Text | - | Standardeinstellung. Die Eingabe wird nicht validiert. Alle Zeichen sind erlaubt. |
Buchstaben & Leerzeichen | onlyLetterSp | Es sind nur Buchstaben (UTF-8) und Leerzeichen erlaubt. Die Eingabe von landesspezifischen Sonderzeichen (z.B. öäü) ist erlaubt! |
Buchstaben, Zahlen und Leerzeichen | onlyLetterNumber | Es sind nur Buchstaben (UTF-8), Zahlen und Leerzeichen erlaubt. Die Eingabe von landesspezifischen Sonderzeichen (z.B. öäü) ist erlaubt! |
Ganzzahl | integer | Es sind nur Zahlen - ohne Punkt und Komma - erlaubt. (z.B. 100 oder -100) |
Positive Ganzzahl | posinteger | Es sind nur positive Zahlen - ohne Punkt und Komma - erlaubt. (z.B. 100) |
Zahl | number | Es sind nur Zahlen - ohne Punkt jedoch mit Komma - erlaubt. (z.B. 100 oder -100 oder 100,10 ...) |
Geldbetrag | money | Geldbetrag ohne Tausendertrennziechen aber mit Nachkommastellen. (z.B. 100,00) |
Positiver Geldbetrag | posmoney | Positiver Geldbetrag ohne Tausendertrennziechen aber mit Nachkommastellen. (z.B. 100,00) |
Positiver Geldbetrag (opt. Nachkomma) | posmoneyOptionalComma | Positiver Geldbetrag ohne Tausendertrennziechen mit optionalen Nachkommastellen. (z.B. 100,00) |
E-Mail Validator (internationale E-Mailadresse,eai) | ||
Datum (DD.MM.YYYY) | datumDE | Datum-Validator der das Datum auf die Syntax "DD.MM.YYYY" prüft. (z.B. 01.01.2015) |
Uhrzeit | time | Prüft die Eingabe auf das Format "mm:hh". (z.B. 01:30 oder 13:30) |
Postleitzahl (Deutschland) | plzDE | Prüft die Syntax einer deutschen Postleitzahl. (5 Zahlen) |
Telefonnummer | phone | Telefonnummer (z.B. +49 351 810 500 oder 0049-351-810-500 oder 0049/351/810/500 -> nicht +49 (0)351 810 500) |
URL | url | URL (z.B. http://www.xima.de oder https://www.xima.de oder ftp://ftp.xima.de) |
IP Adresse | ipv4 | IP V4 Adresse (z.B. 127.0.0.1 oder 192.168.0.255) |
Serverseitige Validierung
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
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, dass statt einem Komma ein Punkt als Trennzeichen akzeptiert wird, fügen Sie folgenden Code im Scriptbereich ein.
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.
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_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
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(''); //Entfernt einen zuvor gesetzten Fehler am Element tf1.
Internationalisierung (i18n)
Das Anpassen der Fehlertext kann auf zwei Arten geschehen:
- Durch Ändern des JavaScript-Objekt XM_FORM_I18N im Script-Bereich. Dies stellt die Werte der i18n-Variablen zur Verfügung.
- Wenn diese Werte dauerhaft und für alle Formulare des Mandanten überschrieben werden sollen, ist es besser, das Template direkt anzupassen, siehe i18n-Variablen.
Zum Beispiel kann der Validator für den Geldbetrag wie folgt geändert werden.