Zum Inhalt

Dynamische Formulare

Zweck von Expressions

Mit Expressions können flexible, intelligente Formulare erstellt werden, die sich kontextabhängig verhalten und nur relevante Felder anzeigen. Damit kann abhängig von anderen Feldwerten festgelegt werden, ob ein Feld:

  • angezeigt oder ausgeblendet wird (hide)
  • deaktiviert ist (props.disabled)
  • als Pflichtfeld gilt (props.required)
  • oder andere Eigenschaften dynamisch erhält

Die Auswertung erfolgt zur Laufzeit, bevor ein Formular angezeigt wird.


Grundprinzip

Eine Expression ist ein JavaScript-Ausdruck, der zu true oder false ausgewertet wird.

Die Expression wird bei jeder relevanten Änderung neu berechnet.

Typische Anwendungsfälle: - Ein Feld wird nur angezeigt, wenn ein anderes Feld einen bestimmten Wert hat. - Ein Feld soll ausgeblendet werden, wenn ein anderes Feld einen Wert hat. - Ein Feld soll nur angezeigt werden, wenn der Datensatz erstmalig erstellt wird


Verfügbare Variablen

Innerhalb einer Expression stehen folgende Variablen zur Verfügung:

data

Enthält das gesamte Formularmodell (alle aktuellen Feldwerte).
Damit können andere Felder abgefragt werden.

Beispiel:

data.invoiceNr === '123'

Das aktuelle Feld wird ausgeblendet, wenn die Rechnungsnummer 123 ist.


mode

Gibt an, in welchem Kontext das Formular angezeigt wird.

Mögliche Werte: - create – Formular zur Neuerfassung - edit – Formular zur Bearbeitung - view – Formular zur Ansicht (read-only)

Beispiel:

mode === 'create'

Das Feld wird nur bei der Neuerfassung angezeigt.


field

Enthält Metadaten des aktuellen Feldes (Key, Typ, Properties).
In der Regel wird diese Variable nur in Sonderfällen benötigt.


Typische Beispiele

Feld ausblenden, wenn ein anderes Feld leer ist

!data.customerId

Feld nur im Bearbeitungsmodus anzeigen

mode === 'edit'

Feld nur anzeigen, wenn ein Wert größer als 100 ist

data.amount > 100

Feld deaktivieren, sobald ein Status gesetzt ist

(als Property-Expression)

data.status === 'final'

Hinweise zur Verwendung

  • Expressions müssen gültiges JavaScript sein.
  • Der Rückgabewert muss true oder false sein.
  • Es sollten nur einfache Bedingungen verwendet werden.
  • Komplexe Logik sollte vermieden werden.
  • Ungültige Expressions können dazu führen, dass Felder nicht korrekt dargestellt werden.

Nutzen

Mit Expressions lassen sich Formulare flexibel anpassen, ohne zusätzliche Prozesse oder Sonderlogik modellieren zu müssen.