Vergleiche mit (Formulardesigner)

Die Verhaltensweise Vergleiche mit (Formulardesigner) vergleicht den Wert eines Quellelements in einem Formular mit dem Wert einer Vergleichsquelle die einen Verweis auf ein anderes Formularelement oder einen Ausdruck (s. Berechnungsausdruck) definiert, durch den ein Wert ermittelt oder als Festwert zugewiesen wird.

images/download/attachments/189432367/image-2024-10-2_9-4-5-version-1-modificationdate-1727852645481-api-v2.png

Der Vergleich geht immer vom Quellelement aus, das wie folgt ermittelt wird:

  • Ist kein Quellelement verknüpft, gilt das ausführende Element als Quellelement.

  • Ist ein Quellelement verknüpft, gilt das verknüpfte Element als Quellelement.

Die weiteren Parameter, Vergleichstyp und Vergleichsquelle, definieren eine Vergleichsbedingung für das Quellelement.

  • Erfüllt der Wert des Quellelements die Vergleichsbedingung, werden die Aktionen bei "wahr" ausgeführt.

  • Erfüllt der Wert des Quellelements die Vergleichsbedingung nicht, werden die Aktionen bei "falsch" ausgeführt.

In beiden Fällen werden ggf. anliegende Eingabedaten als $input an die Aktionen weitergegeben und - zumindest ohne weitere Vorkehrungen - nicht etwa der Wert des Quellelements oder der Vergleichsquelle.

Der Vergleichstyp gibt an unter welcher Bedingung das Verhalten den Wert "wahr" liefern soll. Als Bedingung muss einer der folgenden Vergleichsoperatoren ausgewählt werden:

Vergleichstyp

Bedingung unter der die Verhaltensweise den Wert "wahr" liefert

gleich

Feldinhalt stimmt mit dem Vergleichswert (Feld oder Ausdruck) überein

ungleich

Feldinhalt stimmt mit dem Vergleichswert (Feld oder Ausdruck) nicht überein

größer

Feldinhalt ist größer als der Vergleichswert (Feld oder Ausdruck)

größer oder gleich

Feldinhalt ist größer oder gleich dem Vergleichswert (Feld oder Ausdruck)

kleiner

Feldinhalt ist kleiner als der Vergleichswert (Feld oder Ausdruck)

kleiner oder gleich

Feldinhalt ist kleiner oder gleich dem Vergleichswert (Feld oder Ausdruck)

images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg WICHTIG images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg
Abhängig vom Datentyp vergleicht die Vergleichsfunktion Feldinhalt und Vergleichswert entweder als Zahlenwerte (numerischer Wert, Datum/Zeit) oder als Textwerte (Zeichenfolge bzw. Wert einer Aufzählung, s. a. Beispiel für Dynamische Aufzählungen im Verhalten Gefüllt mit). Bei einem Textfeld, gibt die Auswahl für die Eingabebeschränkung den Ausschlag dafür, ob Zahlzeichen als Text oder numerischer Wert interpretiert werden. Gilt einer der beiden Werte aufgrund der Eingabebeschränkung als numerisch, erfolgt der Vergleich genau dann numerisch, wen der andere Wert in einen Zahlenwert umgewandelt werden kann. Sonst erfolgt ein Textvergleich.

Beispiele: (in blau schattierten Zeilen werden Texte anstelle von Zahlenwerten verglichen)

Feld (Elementtyp, Wert)

Vergleichstyp

Vergleichsfeld (Elementtyp, Wert)

Ergebnis

Hintergrund

Textfeld (keine Eingabebeschränkung)
"100"

kleiner
<

Textfeld (keine Eingabebeschränkung)
"99"

wahr
images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/check.svg

Textvergleich
"100" < "99"

Textfeld (Ganzzahlen)
100

kleiner
<

Textfeld (keine Eingabebeschränkung)
"99"

falsch
images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/error.svg

Zahlenwerte
100 > 99

Textfeld (Ganzzahlen)
100

kleiner
<

Textfeld (keine Eingabebeschränkung)
"1e3"

wahr
images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/check.svg

Zahlenwerte
100 < 1000

Textfeld (keine Eingabebeschränkung)
"1e2"

kleiner
<

Textfeld (Ganzzahlen)
1000

wahr
images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/check.svg

Zahlenwerte
100 < 1000

Textfeld (keine Eingabebeschränkung)
"C"

kleiner
<

Textfeld (Ganzzahlen)
1000

falsch
images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/error.svg

Textvergleich
"C"> "1000"

Textfeld (keine Eingabebeschränkung)
"0"

gleich
=

Textfeld (keine Eingabebeschränkung)
"000"

falsch
images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/error.svg

Textvergleich
"0" != "00"

Textfeld (Ganzzahlen)
"0"

gleich
=

Textfeld (keine Eingabebeschränkung)
"000"

wahr
images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/check.svg

Zahlenwerte
0 = 0

►HINWEIS◄ Datum/Zeit-Werte werden unter Berücksichtigung einer Zeitzone verglichen. Konkret erfolgt der Vergleich anhand des per Definition auf UTC bezogenen Zahlenwerts in "milliseconds since epoch". Ein Vergleich eines Datums mit einem Zahlenwert erfolgt ebenfalls über diese Ebene.


Die Auswahl für die Vergleichsquelle legt die Herkunft des Werts fest, mit dem verglichen werden soll. Folgende Optionen stehen dabei zur Auswahl:

Vergleichsquelle

Beispiel

Erklärung

Feld

images/download/attachments/189432367/image-2024-10-2_9-7-48-version-1-modificationdate-1727852868868-api-v2.png

Das Verhalten liefert "wahr",
wenn der Wert des ausführenden Elements gleich dem Wert im verknüpften Textfeld mit der ID 6 ist.

Ausdruck

images/download/attachments/189432367/image-2024-10-2_9-11-17-version-1-modificationdate-1727853077570-api-v2.png

Das Verhalten liefert "wahr",
wenn der numerische Wert des ausführenden Elements größer ist als der Festwert 5.

images/download/attachments/189432367/image-2024-10-2_9-12-43-version-1-modificationdate-1727853163326-api-v2.png

Das Verhalten liefert "wahr",
wenn der Wert des ausführenden Elements gleich dem Wert im verknüpften Textfeld mit der ID 12 ist.

►HINWEIS◄ Diese Konfiguration ist effektiv austauschbar mit der aus dem ersten Beispiel für Vergleichsquelle Feld. Für einfache Feldverweise ist also kein Mehrwert gegen. Allerdings können auch viele andere Funktionen für Berechnungsfelder in Ausdrücken verwendet werden, um den Vergleichswert dynamisch zu ermitteln. Beispiele:

  • Vergleich mit "kleiner oder gleich" Ausdruck $min($el(12),$el(14)) ... liefert "wahr", wenn der Wert des ausführenden Elements den kleineren Wert aus den Feldern 12 und 14 nicht übersteigt.

  • Vergleich mit "kleiner oder gleich" Ausdruck $max($el(26,true)) ... liefert "wahr", wenn der Wert des ausführenden Elements nicht höher ist als der Maximalwert aus Feld 26 innerhalb eines Wiederholendes Element Containers.

  • Vergleich mit "gleich" Ausdruck [lobsterui,okLabel]... liefert "wahr", wenn der Textwert des ausführenden Elements mit Beschriftung des OK-Buttons (Standard: "OK") gemäß Sprachverwaltung oder Firmenspezifische Sprachanpassungen übereinstimmt.

  • Vergleich mit "gleich" Ausdruck $min($ifEmpty($el(28),0,$el(28)),$ifEmpty($el(29),0,$el(29))) ... liefert "wahr", wenn der Wert des ausführenden Elements exakt dem kleineren Wert aus den Feldern 28 und 29 entspricht, wobei für ein leeres Feld der Zahlenwert 0 angenommen wird.

Beispiel

Das "Vergleiche mit" Verhalten prüft hier, ob die Eingabe im Textfeld Passwort wiederholen mit dem originalen Passwort identisch ist, und schaltet abhängig vom Ergebnis den Bestätigungsbutton sichtbar oder unsichtbar.

Konfiguration

Ergebnis

images/download/attachments/189432367/image2018-5-18_12_9_32-version-1-modificationdate-1727852639208-api-v2.png

images/download/attachments/189432367/image2018-5-18_12_11_30-version-1-modificationdate-1727852639218-api-v2.png

images/download/attachments/189432367/image2018-5-18_12_12_6-version-1-modificationdate-1727852639215-api-v2.png