Daten aus einem Datapool können zum Validieren des eingegebenen Werts in einem Formularelement verwendet werden. Diese Lösung braucht keine eigene Anzeige im Datapool, die Konfiguration erfolgt direkt im Formularfeld. Typische Anwendungsfälle sind Formulare, die nur mit einem gültigen Zugangscode aufgerufen / ausgefüllt werden können.
Ist die Überprüfung positiv, können weitere Werte in andere Formularfelder geladen werden (wie Name, Vorname, etc.).
Vorbedingung: Die auszulesenden Spalten im Datapool und die zu befüllenden Formularfelder müssen identisch benannt werden, also beide mit "Nachname".
Schritt 1: Datapool anlegen
Zuerst die Datengrundlage für den Datapool zusammenstellen. Dazu eine CSV-Datei mit den benötigten Angaben füllen und speichern.
Beispiel-Datenquelle:
Danach einen neuen Datapool gem. Anleitung (s. Erstellung eines Datapools) erstellen.
Die bereitgestellte CSV-Datei als Datenquelle in den Datapool laden und die Felder automatisch aus der CSV-Datei generieren. Dazu auf das Zauberstab-Icon klicken:
Den Datapool speichern und schliessen, es müssen keine weiteren Anzeigen definiert oder Einstellungen angepasst werden.
Tipp: Die GUID-Nummer des Datapools notieren, diese wird später noch gebraucht.
2. Schritt: Formular aufbauen
Ein neues Formular aufbauen und die benötigten Felder anlegen. Bitte beachten, dass die Felder, die mit Daten aus dem Datapool befüllt werden sollen, gleich benannt werden wie die Spalten im Datapool:
Für die Eingabe des Zugangscodes (Token) ein Feld vom Typ Textfeld erstellen.
Im Popup-Fenster mit den Feldeigenschaften den Reiter Eigenschaften aufrufen und eine neue Eigenschaft mit dem Key dataPoolField und dem Wert Token anlegen. So wird definiert, dass bei der Überprüfung des Zugangscodes (Eingabe in diesem Feld) mit der Datapool-Spalte Token verglichen wird:
Im Reiter Validierung einen neuen Datensatz mit der Klassifizierung Fehler erstellen.
Die Checkbox Syntax (java expression parser) verwenden? aktivieren. Im nun sichtbaren Eingabefeld JEP Syntax die Konfiguration eingeben:
Beispielkonfiguration:
searchAndMapDatapoolFields("49ce37db-bfcd-4677-bc76-e98624046704", node("."), Nachname, Vorname, Email) == false
- GUID das Datapools
- Kommagetrennte Liste der Felder, die mit den Daten aus dem Datapool befüllt werden sollen
Zu guter Letzt noch eine Validierungsnachricht hinterlegen, die den Fehler sinnvoll beschreibt, sollte der eingegebene Zugangscode nicht im Datapool gefunden werden. Die reine Validierung ist mit diesem Schritt abgeschlossen:
Formular beim Aufruf | Formular nach Eingabe des Zugangscodes |
---|---|
3. Schritt: Zugriffsbeschränkung
In der beschriebenen Umsetzung wurden bis jetzt noch keine Zugriffsbeschränkungen definiert; alle Formularelemente sind mit und ohne Eingabe des Zugriffscodes sichtbar. Ein häufiger praktischer Anwendungsfall ist, dass ein Formular nur mit gültigem Zugriffscode ausgefüllt werden kann. Das wird mit den bekannten Sichtbarkeitsregeln umgesetzt. Die Bedingung, ob Formularelemente / Seiten sichtbar sind, bauen wir wie folgt auf:
Formularfeld "Token"
Im Formular ein neues Formularfeld vom Typ Textfeld mit dem Namen Token erstellen. Im Reiter Editierbarkeit die JEP Syntax false eingeben. So ist das Feld für Eingaben durch die BenutzerInnen gesperrt:
In dieses Feld laden wir aus dem Datapool die Spalte Token. Dazu die Validierung im Feld Zugangscode anpassen:
searchAndMapDatapoolFields("49ce37db-bfcd-4677-bc76-e98624046704", node("."), Token, Nachname, Vorname, Email) == false
Somit wird bei der Eingabe der Zugangscode via Datapool validiert.
Ist der Zugangscode valide, wird der Zugangscode aus dem Datapool (Spalte Token) ins Feld Token geschrieben. Ergo sind die Werte aus den Feldern Zugangscode und Token identisch.
Wird der eingegebene Zugangscode nicht gefunden, bleibt das Feld Token leer und die Werte aus den Feldern Zugangscode und Token NICHT identisch.
Daraus lässt sich eine Sichtbarkeitsregel für alle Formularelemente bauen, die erst nach Eingabe eines validen Zugangscodes sichtbar sein sollen.
Feld Zugangscode ist nicht leer | und | die Werte der Felder Zugangscode und Token sind identisch |
Zugangscode != "" && Zugangscode != NULL | && | Zugangscode == Token |
Alle Formularelemente, die nur bei validem Zugangscode sichtbar sein sollen, erhalten die Sichtbarkeitsregel. Werden Elemente in Gruppen zusammengefasst, erhält die Gruppe die Sichtbarkeitsregel.
Zugangscode != "" && Zugangscode != NULL&&Zugangscode == Token
Formular beim Aufruf | Formular nach Eingabe des Zugangscodes |
---|---|