Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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 wird erfolgt direkt im Bereich "Validierung" Formular. Diese wird danach in ein Formularelement eingebunden.

Datengrundlage dieses Beispiels: Flüsse

Image Removed

Neue Anzeige erstellen

Wechseln Sie im Datapool in den Reiter Anzeigen und erstellen Sie eine neue Anzeige. Geben Sie einen aussagekräftigen Namen ein und wählen Sie als Typ den Wert Code-Set.

Image Removed

In der folgenden Eingabemaske definieren Sie die Auswahloption: 

Image Removed

  1. Name der Spalte, welche die eindeutige ID der Datensätze enthält: Rang > 7
  2. Name der Spalte, welche angezeigt werden soll
    1. den Wert einer Spalte 1:1 anzeigen: Name > Rhein
    2. Werte aus verschiedenen Spalten kombiniert anzeigen: Name + " (" + Laenge + L_in + "), " + Muendung > Rhein (1233km), Nordsee

Wichtig: Jeweils für alle Sprachen (DE / FR / IT / EN) die Anzeigespalte definieren!

b. Werte aus verschiedenen Spalten kombiniert anzeigenImage Removed

Beispiel Feiertage im Formular "Alle Elemente"

Nur Kanton Bern intern erreichbar

https://www.betest.sites.be.ch/de/start/testfaelle/online-formulare/prod/alle_elemente.html

Image Removed

Ausgabe als Datapool (ungestylt. Tipp: in neuem Fenster öffnen)

Lösung

Die erste Auswahl in Deutsch steuert über eine Regel, was in der zweiten Auswahl (Feiertag in FR) angezeigt werden soll.

Die Auswahl (Feiertag in FR) ist ebenfalls ein "Dropdown". Beide Dropdown-Auswahlfelder verwenden dieselbe Spalte aus dem Datapool (Code-ID) als "Value". Somit kann aufgrund der dieser der jeweilde Wert aus der Spalte übernommen werden.

Image Removed

  1. Die Anzeigen auswahl und auswahlFR verwenden beide die Spalte "tag" als Code-ID.
  2. Code-ID ist somit bei beiden Dropdowns der "value" (z.B. karfreitag2025)
  3. So kann aufgrund der Wahl beim Dropdown mit der Anzeige des Textes aus der Spalte "auswahl" derjenige Text aus der Spalte "auswahlFR" genommen werden, welcher beim value "karfreitag2025" zutrifft.

Image Removed

Für die übername eines Wertes muss somit eine Auswahl verwendet werden. Dieses Dropdown muss nicht sichtbar im Formular sein. Über einer Regel kann der "DisplayValue" in eine Textfeld übernommen werden.

Image Removed

Im Beispiel wird nebem dem DisplayValue auch der Value als Text ausgegeben. Die entsprechende Regel liegt auf dem Feld "auswahlFR".

Codeblock
languagejs
titleRegel zur Setzen des Wertes
setValue(node(f_ausgabeFRtext),displayValue(node(f_wertausDP)) + " (value: " + nodeValue(node(f_wertausDP))+ ")")

Dokumentation PlugIn

des Formularfelds.

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: 

Image Added

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: 

Image Added

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 / Tokens 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: 

Image Added 


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:  

Image Added

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. Daten aus Datapool auslesen (Plugin > AutoComplete) > https://wiki.jaxforms.com/x/74luAw