Ausdrücke
Ausdrücke für erfahrene Nutzer – maximale Flexibilität bei Bedingungen und Validierungen mit der Common Expression Language.
Mit Ausdrücken können Sie komplexe Logik direkt schreiben, statt den visuellen Editor zu verwenden. Das bietet maximale Flexibilität – erfordert aber etwas Erfahrung.
Was sind Ausdrücke?
Ausdrücke sind kurze Formeln, die einen Wahrheitswert ergeben: Wahr oder Falsch.
Beispiel:
alter >= 18Dieser Ausdruck ist wahr, wenn das Alter 18 oder höher ist, und falsch, wenn es darunter liegt.
Wann Ausdrücke verwenden?
✅ Verwenden Sie Ausdrücke für:
Komplexe Logik mit vielen Bedingungen
Mathematische Berechnungen
Mustervergleiche (Regex)
Funktionen wie
heute()odersize()Wenn Sie Erfahrung mit Programmierung haben
⚠️ Nutzen Sie den visuellen Editor für:
Einfache Bedingungen (1-3 Vergleiche)
Wenn Sie keine Programmiererfahrung haben
Schnelle, übersichtliche Bedingungen
Die Sprache: CEL
Ausdrücke werden in der Common Expression Language (CEL) geschrieben. Das ist eine einfache Ausdruckssprache ähnlich wie JavaScript oder Python.
Grundlegende Syntax
Vergleiche
==
gleich
alter == 18
Wahr, wenn Alter genau 18 ist
!=
ungleich
alter != 18
Wahr, wenn Alter nicht 18 ist
>
größer als
alter > 18
Wahr, wenn Alter über 18 ist
<
kleiner als
alter < 18
Wahr, wenn Alter unter 18 ist
>=
größer oder gleich
alter >= 18
Wahr, wenn Alter 18 oder höher ist
<=
kleiner oder gleich
alter <= 18
Wahr, wenn Alter 18 oder darunter ist
Logische Verknüpfungen
&&
UND (beide müssen wahr sein)
alter >= 18 && wohnort == 'Berlin'
||
ODER (mindestens eins muss wahr sein)
alter < 18 || student == true
!
NICHT (kehrt den Wert um)
!(alter < 18) (entspricht alter >= 18)
Texte (Strings)
Texte müssen in einfache Anführungszeichen gesetzt werden:
Nicht verwenden: "Unternehmen" (doppelte Anführungszeichen)
Zahlen
Zahlen werden ohne Anführungszeichen geschrieben:
Felder referenzieren
Feldnamen werden klein geschrieben und ohne Anführungszeichen:
Wichtig: Verwenden Sie den internen Feldnamen, nicht den Titel. Den internen Namen sehen Sie im Konfigurationsmenü unter "Allgemein" → "Name".
Häufige Ausdrücke und Funktionen
Einfacher Vergleich
antragsteller == 'Unternehmen'
Feld entspricht einem Wert
UND-Verknüpfung
antragsteller == 'Unternehmen' && umsatz < 500000
Beide Bedingungen müssen erfüllt sein
ODER-Verknüpfung
alter < 18 || student == true
Mindestens eine Bedingung muss erfüllt sein
Zahlenbereich
alter >= 18 && alter <= 65
Wert muss in Bereich liegen
Feld ausgefüllt
size(telefon) > 0
Feld ist nicht leer
Text enthält
kommentar.contains('dringend')
Text enthält bestimmtes Wort
Text beginnt/endet
postleitzahl.startsWith('10') oder email.endsWith('@example.com')
Text-Muster am Anfang/Ende prüfen
Regex-Muster
postleitzahl.matches('[0-9]{5}')
Komplexe Musterprüfung
Datum vergleichen
geburtsdatum < today()
Datum in Vergangenheit
Datum und Zeit
Wichtigste Funktionen:
today()– Heutiges Datumduration('18y')– Zeitdauer (z.B. '18y' = 18 Jahre, '30d' = 30 Tage)
Beispiele:
Mathematische Operationen
+
Addition
umsatz + gewinn
-
Subtraktion
umsatz - kosten
*
Multiplikation
umsatz * 0.19 (19% Mehrwertsteuer)
/
Division
umsatz / 12 (Monatsumsatz)
%
Modulo (Rest)
alter % 2 == 0 (gerade Zahl)
Beispiele:
(19% des Umsatzes sind weniger als 10.000 Euro)
(Mehr als 10 Mitarbeiter pro Bereich)
Reguläre Ausdrücke (Regex)
Wichtigste Zeichen: [0-9] = Ziffer, [a-z] = Buchstabe, {5} = genau 5-mal, + = eines oder mehr, \\ = Sonderzeichen maskieren, | = oder
Häufige Beispiele:
→ Ausführliche Regex-Referenz: Validierungsregeln
Klammern für Priorität
Verwenden Sie Klammern bei UND/ODER-Kombinationen:
(Alter 18+ UND Wohnort Berlin oder Hamburg)
(Kleine Unternehmen ODER kleine Freiberufler)
Komplexe Beispiele
Zusatzförderung für kleine Unternehmen:
Ermäßigung für bestimmte Gruppen:
Regionale Förderung mit PLZ-Prüfung:
(Berlin-Förderung nur für Berliner PLZ 10xxx-14xxx)
Fehlerbehebung
"Ungültiger Ausdruck":
Verwenden Sie
'statt"für TextePrüfen Sie Feldnamen (exakte Schreibweise!)
Prüfen Sie Klammern (jede öffnende braucht eine schließende)
"Feld nicht gefunden":
Verwenden Sie den internen Feldnamen (siehe Konfigurationsmenü)
Das Feld muss vor dem aktuellen Feld im Formular stehen
Bedingung funktioniert nicht:
Testen Sie Teile einzeln
Fügen Sie Klammern bei UND/ODER hinzu
Prüfen Sie Werte auf exakte Übereinstimmung
Regex funktioniert nicht:
Sonderzeichen maskieren:
.→\\.,+→\\+,-→\\-
Testen und Best Practices
Testen Sie immer: Speichern → Vorschau → verschiedene Szenarien durchspielen (erfüllt, nicht erfüllt, Grenzfälle, leere Felder)
✅ Empfohlen: Einfach starten und schrittweise erweitern, Klammern bei UND/ODER setzen, komplexe Logik dokumentieren, internen Feldnamen verwenden
❌ Vermeiden: Mehr als 5-6 Bedingungen verketten, doppelte Anführungszeichen ("text"), fehlende Klammern, spätes Testen
Vom visuellen Editor zu Ausdrücken
Sie können jederzeit vom visuellen Editor zu Ausdrücken wechseln:
Öffnen Sie die Bedingung im visuellen Editor
Klicken Sie auf "Als Code bearbeiten"
Der Ausdruck wird generiert (z.B.
antragsteller == 'Unternehmen')Sie können ihn jetzt manuell erweitern
Achtung: Nach dem Wechsel zu Ausdrücken können Sie nicht mehr zum visuellen Editor zurück! Überlegen Sie vorher, ob Sie wirklich wechseln möchten.
Weitere Hilfe
→ Bedingungen verstehen – Grundlagen und Anwendungsfälle
→ Visueller Bedingungseditor – Bedingungen ohne Programmierung
→ Validierungsregeln – Ausdrücke für Eingabeprüfungen
→ Feldtypen – Welche Felder können in Ausdrücken verwendet werden?
Referenz: Alle Operatoren und Funktionen
Vergleichsoperatoren
==
gleich
!=
ungleich
>
größer als
<
kleiner als
>=
größer oder gleich
<=
kleiner oder gleich
Logische Operatoren
&&
UND
||
ODER
!
NICHT
Mathematische Operatoren
+
Addition
-
Subtraktion
*
Multiplikation
/
Division
%
Modulo (Rest)
String-Funktionen
size(feld)
Länge des Textes
feld.contains('text')
Enthält Text
feld.startsWith('text')
Beginnt mit
feld.endsWith('text')
Endet mit
feld.matches('regex')
Entspricht Muster
Datum-Funktionen
today()
Heutiges Datum
duration('18y')
Zeitdauer (Jahre, Monate, Tage)
Sonstige
null
Leerer/Fehlender Wert
''
Leerer String
Zuletzt aktualisiert
War das hilfreich?