Validierung: JavaScript

Zuletzt geändert am:

Mithilfe von JavaScript haben Sie die Möglichkeit, Eingaben mehrerer Formularelemente gleichzeitig zu validieren und miteinander in Beziehung zu setzen. Da Sie alle Operationen und Funktionen von JavaScript verwenden können, sind Ihnen keine Grenzen gesetzt.

Der Zugriff auf die Formularelemente und somit auf die Eingaben der Nutzer:innen in das Formular erfolgt im JavaScript über den technischen Namen des jeweiligen Formularelementes.

Validierung mit der validate()-Funktion

Jedes Formular ermöglicht die Definition eines Validierungsskripts pro Formularseite. Darin ist eine vorbereitete Prüffunktion mit dem Namen validate() enthalten. Diese Funktion wird automatisch ausgeführt, sobald Nutzer:innen zwischen Formularseiten wechseln oder das Formular absenden.


Validierung aktivieren

In den Seiteneigenschaften gibt es den Bereich Validierung, in dem Sie Ihre Prüfskripte hinterlegen können.

  1. Schieben Sie, falls notwendig, den Schalter bei Validierung nach rechts, um die Funktion zu aktivieren.
  2. Wählen Sie die Option JavaScript aus.
  3. Definieren Sie im Feld Validierungsskript Ihre validate()-Funktion mit der gewünschten Prüflogik.

Zugriff auf Formulardaten

Mit JavaScript können Sie einfach auf die Daten Ihrer Formulare zugreifen:

  1. Formularelemente:
    Jedes Element kann über seine zugehörige Variable, also den technischen Namen, angesprochen werden. Ein Element mit dem Namen email ist beispielsweise über die Variable email verfügbar.
  2. Aktuelle Formularseite:
    Die aktuelle Formularseite wird ebenfalls über die zugehörige Variable, also den technischen Namen, angesprochen, was Ihnen hilft, seitenabhängige Prüfungen durchzuführen.

Integrierte JavaScript-Funktionen

Für den Umgang mit Datumswerten und Dropdown-Listen stellt Ihnen Formcentric verschiedene JavaScript-Funktionen zur Verfügung.

parseDate

Die JavaScript-Funktion parseDate wandelt den Wert eines Eingabefeldes in ein JavaScript-Objekt vom Typ Date um.

Hierfür benötigen Sie entweder ein Eingabefeld, das mit dem Validator Datum validiert wird oder das Formularelement Datum, in das Nutzer*innen ein Datum eingeben sollen.

  1. Als ersten Parameter geben Sie im JavaScript das Datumsformat an, das Sie bei dem Validator Datum für das Eingabefeld festgelegt haben (z. B. dd.MM.yyyy).
  2. Als zweiten Parameter geben Sie den technischen Namen an, den Sie für das Eingabefeld vergeben haben (z. B. training).

parseAge

Die JavaScript-Funktion parseAge berechnet zu einem eingegebenen Geburtsdatum das aktuelle Alter.

Hierfür benötigen Sie entweder ein Eingabefeld, das mit dem Validator Datum validiert wird oder das Formularelement Datum, in das Nutzer*innen ihr Geburtsdatum eingeben sollen.

  1. Als ersten Parameter geben Sie im JavaScript das Datumsformat an, das Sie bei dem Validator Datum für das Eingabefeld festgelegt haben (z. B. dd.MM.yyyy).
  2. Als zweiten Parameter geben Sie den technischen Namen an, den Sie für das Eingabefeld vergeben haben (z. B. birthday).

isEmptyList

Die JavaScript-Funktion isEmptyList prüft, ob bei einem Formularfeld, in dem Nutzer*innen eine Auswahl treffen können, also bei einer Dropdown-Liste, einer Einfach- oder Mehrfachauswahl, eine Auswahl getroffen wurde.

  1. Geben Sie hierfür als Parameter den technischen Namen des entsprechenden Formularfeldes ein (z. B. newsletter).

isSelected

Die JavaScript-Funktion isSelected überprüft, ob Nutzer*innen bei einer bestimmten Dropdown-Liste, Einfach- oder Mehrfachauswahl eine bestimmte Option gewählt haben.

  1. Als ersten Parameter geben Sie im JavaScript den technischen Namen des Formularfeldes mit der Auswahl an (z. B. newsletter).
  2. Als zweiten Parameter geben Sie den Wert der Option an (z. B. "ja"), den Sie prüfen möchten.

Praxisbeispiele


Beispiel 1: Altersbeschränkung für Newsletter

Mit diesem JavaScript prüfen Sie, ob Personen, die sich für einen Newsletter anmelden, mindestens 16 Jahre alt sind. Richten Sie im Formular folgende Formularelemente ein.

Eingabefeld für Geburtsdatum

Beschriftung Geburtsdatum
Technischer Name birthday
Validierung Datum
Datumsformat dd.MM.yyyy

Einfachauswahl für Newsletteranmeldung

Beschriftung Anmeldung zum Newsletter
Technischer Name newsletter
Optionen
  1. Beschriftung: Newsletter abonnieren (Wert: ja)
  2. Beschriftung: Newsletter nicht abonnieren (Wert: nein)
Aktivieren Sie auf der Formularseite die Validierung und wählen Sie die Option 'JavaScript' aus. Fügen Sie anschließend das folgende Validierungsskript ein.

Validierungsskript für Altersbeschränkung



Das macht die Validierung

  1. Das Alter wird mithilfe der Funktion parseAge() berechnet. Diese Funktion verwendet das angegebene Format (dd.MM.yyyy) und das Geburtsdatum aus dem Feld birthday.
  2. Die Funktion prüft, ob die Option ja im Feld newsletter ausgewählt ist. Falls dies der Fall ist, wird geprüft, ob die Person mindestens 16 Jahre alt ist.
  3. Wenn das Alter unter 16 liegt, gibt die Funktion eine Fehlermeldung zurück, die Nutzer:innen darüber informiert, dass die Anmeldung nicht erlaubt ist.
  4. Liegen keine Fehler vor, gibt die Funktion einen leeren String zurück.

Beispiel 2: Postleitzahl nur mit Ort

In diesem Beispiel wird keine der zuvor beschriebenen JavaScript-Funktionen eingesetzt. Stattdessen kommt eine einfache Validierungslogik zum Einsatz, die lediglich die Beziehung zwischen den Feldern Postleitzahl und Ort überprüft.

Eingabefeld für Ortsangabe

Beschriftung Ort
Technischer Name ort

Eingabefeld für Postleitzahl

Beschriftung Postleitzahl
Technischer Name postleitzahl
Validierung Postleitzahl
Aktivieren Sie auf der Formularseite die Validierung und wählen Sie die Option 'JavaScript' aus. Fügen Sie anschließend das folgende Validierungsskript ein.

Validierungsskript


Das macht die Validierung

  1. Wenn ein Wert im Feld ort angegeben ist, muss auch das Feld postleitzahl ausgefüllt sein.
  2. Umgekehrt wird geprüft, dass bei Angabe der postleitzahl auch ein Wert im Feld ort vorhanden ist.