# Visueller Editor

Der visuelle Editor erlaubt Ihnen, komplexe Wenn-Dann-Regeln und Validierungen ohne jede Programmierung zu erstellen. Wählen Sie einfach aus, wann ein Feld erscheinen, verschwinden, erforderlich werden oder welche Eingaben gültig sein sollen – keine technischen Kenntnisse nötig.

## Was ist der visuelle Editor?

Statt Ausdrücke wie `antragsteller == 'Unternehmen'` zu schreiben, klicken Sie sich durch Auswahlmenüs:

* **Welches Feld** soll geprüft werden?
* **Welche Bedingung** soll gelten?
* **Mit welchem Wert** soll verglichen werden?

Das System erstellt im Hintergrund automatisch den korrekten Ausdruck.

## Einsatzgebiete des visuellen Editors

Der visuelle Editor kann für zwei Hauptzwecke verwendet werden:

### 1. Bedingungen

Steuern Sie, wann Felder sichtbar, versteckt, erforderlich oder deaktiviert sind.

**Beispiele:**

* Zeige "Firmename" nur, wenn "Unternehmen" gewählt wurde
* Mache "Begründung" zum Pflichtfeld bei "Sonderfall"
* Verstecke "Erziehungsberechtigte" wenn Alter über 18

→ [Mehr zu Bedingungen](https://docs.polyteia.com/formulare/erweitert/bedingungen)

### 2. Validierungen

Prüfen Sie Eingaben automatisch auf Richtigkeit.

**Beispiele:**

* Postleitzahl muss genau 5 Ziffern haben
* E-Mail-Adresse muss gültiges Format haben
* Enddatum muss nach Startdatum liegen

→ [Mehr zu Validierungen](https://docs.polyteia.com/formulare/erweitert/validierung)

***

## Bedingung oder Validierung im visuellen Editor erstellen

{% stepper %}
{% step %}
**Editor öffnen**

**Für Bedingungen:**

1. Klicken Sie auf das Feld
2. Wechseln Sie zum Reiter **"Bedingungen"**
3. Klicken Sie auf **"Bedingung hinzufügen"**
4. Wählen Sie den Bedingungstyp (Anzeigen, Ausblenden, Pflichtfeld, Deaktivieren)
5. Der visuelle Editor öffnet sich

**Für Validierungen:**

1. Klicken Sie auf das Feld
2. Wechseln Sie zum Reiter **"Validierung"**
3. Klicken Sie auf **"Validierung hinzufügen"**
4. Der visuelle Editor öffnet sich

{% hint style="info" %}
**Hinweis:** Sie können jederzeit zwischen visuellem Editor und Ausdruck wechseln, indem Sie auf "Als Code bearbeiten" klicken.
{% endhint %}
{% endstep %}

{% step %}
**Bedingung aufbauen**

Der visuelle Editor besteht aus drei Teilen:

1. **WENN** (Bedingung)
2. **Feld auswählen** (welches Feld wird geprüft?)
3. **Vergleichsart** + **Wert** (wie wird verglichen?)

**Beispiel:**

* WENN
* Feld: "antragsteller"
* entspricht
* Wert: "Unternehmen"

→ Bedeutet: Wenn bei "antragsteller" die Option "Unternehmen" gewählt wurde
{% endstep %}

{% step %}
**Weitere Bedingungen hinzufügen (optional)**

Klicken Sie auf **"UND"** oder **"ODER"**, um weitere Bedingungen hinzuzufügen:

**UND:** Alle Bedingungen müssen erfüllt sein **ODER:** Mindestens eine Bedingung muss erfüllt sein

**Beispiel mit UND:**

* WENN antragsteller entspricht "Unternehmen"
* **UND** umsatz kleiner als 500000

→ Beide Bedingungen müssen zutreffen
{% endstep %}

{% step %}
**Speichern und testen**

1. Klicken Sie auf **"Speichern"**
2. Öffnen Sie die **Vorschau**
3. Testen Sie alle möglichen Szenarien:
   * Was passiert, wenn die Bedingung erfüllt ist?
   * Was passiert, wenn sie nicht erfüllt ist?
   * Funktioniert die Kombination aus UND/ODER wie gewünscht?
     {% endstep %}
     {% endstepper %}

## Die drei Auswahlfelder

### 1. Feld auswählen

**Was ist das?** Das Feld, dessen Wert geprüft werden soll.

**Beispiel:** Wenn Sie prüfen möchten, ob jemand "Unternehmen" als Antragsteller gewählt hat, wählen Sie hier das Feld "antragsteller".

**Verfügbare Felder:** Alle Felder, die **vor** dem aktuellen Feld im Formular vorkommen. Sie können nicht auf Felder verweisen, die erst später kommen.

***

### 2. Vergleichsart wählen

**Was ist das?** Wie soll der Wert des Feldes geprüft werden?

#### Verfügbare Vergleiche:

| Vergleich                | Bedeutung                               | Beispiel                                      |
| ------------------------ | --------------------------------------- | --------------------------------------------- |
| **entspricht**           | Der Wert ist genau gleich               | antragsteller entspricht "Unternehmen"        |
| **entspricht nicht**     | Der Wert ist nicht gleich               | antragsteller entspricht nicht "Privatperson" |
| **größer als**           | Der Wert ist größer (nur Zahlen/Datum)  | alter größer als 18                           |
| **kleiner als**          | Der Wert ist kleiner (nur Zahlen/Datum) | umsatz kleiner als 500000                     |
| **ist ausgefüllt**       | Das Feld hat einen Wert (nicht leer)    | telefon ist ausgefüllt                        |
| **ist nicht ausgefüllt** | Das Feld ist leer                       | telefon ist nicht ausgefüllt                  |
| **entspricht Regex**     | Der Wert entspricht einem Muster        | postleitzahl entspricht Regex "\[0-9]{5}"     |

{% hint style="info" %}
**Tipp:** Für einfache Bedingungen reichen meist "entspricht", "größer als" und "ist ausgefüllt". Die anderen Vergleiche sind für spezielle Fälle.
{% endhint %}

***

### 3. Wert eingeben

**Was ist das?** Der Wert, mit dem verglichen werden soll.

#### Drei Arten von Werten:

{% tabs %}
{% tab title="Fester Wert" %}
**Ein konkreter Wert, den Sie eingeben**

**Beispiele:**

* "Unternehmen" (Text)
* 18 (Zahl)
* "2024-01-01" (Datum)

**Wann verwenden:** Wenn Sie gegen einen festen Wert vergleichen möchten.

**Beispiel:**

* Feld: antragsteller
* Vergleich: entspricht
* Wert: "Unternehmen"
  {% endtab %}

{% tab title="Anderes Feld" %}
**Der Wert eines anderen Feldes**

**Beispiele:**

* alter\_kind kleiner als alter\_elternteil
* startdatum kleiner als enddatum

**Wann verwenden:** Wenn zwei Felder miteinander verglichen werden sollen.

**Beispiel:**

* Feld: startdatum
* Vergleich: kleiner als
* Wert: enddatum (anderes Feld)
  {% endtab %}

{% tab title="Ausdruck" %}
**Ein berechneter Wert oder Funktion**

**Wann zu Ausdrücken wechseln:**

* Wenn Sie mit Datumsfunktionen arbeiten möchten
* Wenn Sie mathematische Berechnungen benötigen
* Wenn Sie komplexe Logik implementieren möchten

**So wechseln Sie:**

1. Erstellen Sie zunächst eine einfache Bedingung im visuellen Editor
2. Klicken Sie auf **"Als Code bearbeiten"**
3. Passen Sie den Ausdruck manuell an

→ Mehr Details: [Ausdrücke](https://docs.polyteia.com/formulare/erweitert/ausdruecke)
{% endtab %}
{% endtabs %}

## UND/ODER-Verknüpfungen

### UND-Verknüpfung

**Alle Bedingungen müssen erfüllt sein**

**Beispiel:**

* WENN antragsteller entspricht "Unternehmen"
* **UND** umsatz kleiner als 500000
* **UND** standort entspricht "Deutschland"

→ Das Feld erscheint nur, wenn **alle drei** Bedingungen zutreffen.

***

### ODER-Verknüpfung

**Mindestens eine Bedingung muss erfüllt sein**

**Beispiel:**

* WENN antragsteller entspricht "Unternehmen"
* **ODER** antragsteller entspricht "Freiberufler"

→ Das Feld erscheint, wenn **eine der beiden** Bedingungen zutrifft.

***

### Kombination von UND und ODER

Sie können UND und ODER kombinieren:

**Beispiel:**

* WENN antragsteller entspricht "Unternehmen"
* **UND** (umsatz kleiner als 500000 **ODER** mitarbeiter kleiner als 50)

→ Antragsteller muss Unternehmen sein **UND** entweder Umsatz unter 500.000 **ODER** Mitarbeiter unter 50

{% hint style="warning" %}
**Achtung:** Komplexe Kombinationen werden schnell unübersichtlich. Überlegen Sie, ob Sie die Bedingung nicht vereinfachen können, oder wechseln Sie zu Ausdrücken.
{% endhint %}

## Praktische Beispiele

### Beispiel 1: Firmendaten nur für Unternehmen

**Szenario:** Felder "Firmename" und "Handelsregisternummer" sollen nur für Unternehmen erscheinen

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** antragsteller
* **Vergleich:** entspricht
* **Wert:** "Unternehmen"

**Ergebnis:** Die Felder erscheinen nur, wenn "Unternehmen" gewählt wurde.

***

### Beispiel 2: Postadresse nur bei Postversand

**Szenario:** Adressfeld nur zeigen, wenn "Per Post" gewählt wurde

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** versandart
* **Vergleich:** entspricht
* **Wert:** "Per Post"

**Ergebnis:** Das Adressfeld erscheint nur bei Postversand.

***

### Beispiel 3: Begründung als Pflichtfeld bei Sonderfall

**Szenario:** Begründung muss nur ausgefüllt werden, wenn "Sonderfall" gewählt wurde

**Aufbau:**

* **Bedingungstyp:** Pflichtfeld
* **Feld:** antragsart
* **Vergleich:** entspricht
* **Wert:** "Sonderfall"

**Ergebnis:** Die Begründung ist optional bei Standardförderung, Pflichtfeld bei Sonderfall.

***

### Beispiel 4: Zusatzförderung nur für kleine Unternehmen

**Szenario:** Zusatzförderung nur anbieten, wenn Unternehmen und Umsatz unter 500.000 Euro

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** antragsteller
* **Vergleich:** entspricht
* **Wert:** "Unternehmen"
* **UND**
* **Feld:** umsatz
* **Vergleich:** kleiner als
* **Wert:** 500000

**Ergebnis:** Die Zusatzförderung erscheint nur für Unternehmen mit Umsatz unter 500.000 Euro.

***

### Beispiel 5: Kontaktdaten nur für Minderjährige oder Rückfrage

**Szenario:** Kontaktdaten sollen erscheinen, wenn Alter unter 18 ODER Rückfrage gewünscht

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** alter
* **Vergleich:** kleiner als
* **Wert:** 18
* **ODER**
* **Feld:** rueckfrage\_gewuenscht
* **Vergleich:** entspricht
* **Wert:** "Ja"

**Ergebnis:** Kontaktdaten erscheinen für Minderjährige oder wenn Rückfrage gewünscht.

## Bedingung bearbeiten

1. Klicken Sie auf das Feld mit der Bedingung
2. Wechseln Sie zum Reiter "Bedingungen"
3. Klicken Sie auf **"Bearbeiten"** neben der Bedingung
4. Der visuelle Editor öffnet sich mit den aktuellen Einstellungen
5. Ändern Sie die Bedingung
6. Klicken Sie auf **"Speichern"**

## Von visuellem Editor zu Ausdruck wechseln

Sie können jederzeit von visuellem Editor zu Ausdruck wechseln:

1. Öffnen Sie die Bedingung im visuellen Editor
2. Klicken Sie auf **"Als Code bearbeiten"**
3. Der Ausdruck wird angezeigt (z.B. `antragsteller == 'Unternehmen'`)
4. Sie können ihn jetzt manuell anpassen

{% hint style="warning" %}
**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.
{% endhint %}

## Grenzen des visuellen Editors

Der visuelle Editor ist mächtig, aber hat Grenzen:

**Nicht möglich:**

* Mathematische Berechnungen (`umsatz * 0.19`)
* Komplexe Mustervergleiche (Regex)
* Funktionen wie `heute()` oder `size()`
* Sehr verschachtelte Logik mit vielen Ebenen

**Für diese Fälle:** Wechseln Sie zu [Ausdrücken](https://docs.polyteia.com/formulare/erweitert/ausdruecke)

## Bewährte Vorgehensweisen

### ✅ Empfohlen

* **Nutzen Sie die Auswahllisten:** Vermeiden Sie Tippfehler
* **Halten Sie es einfach:** 1-3 Bedingungen sind übersichtlich
* **Testen Sie sofort:** Nach jeder Bedingung die Vorschau prüfen
* **Dokumentieren Sie:** Bei komplexen Bedingungen notieren, warum sie existieren
* **Sprechende Feldnamen:** "antragsteller" ist besser als "feld\_a"

### ❌ Vermeiden Sie

* **Zu viele Bedingungen:** Mehr als 4-5 wird unübersichtlich
* **Manuell tippen:** Nutzen Sie die Auswahllisten
* **Spätes Testen:** Testen Sie nach jeder Änderung
* **Zirkuläre Verweise:** Feld A hängt von Feld B ab, das von Feld A abhängt
* **Komplexe Logik erzwingen:** Wechseln Sie bei Bedarf zu Ausdrücken

## Weitere Hilfe

**→** [**Bedingungen verstehen**](https://docs.polyteia.com/formulare/erweitert/bedingungen) – Grundlagen und Anwendungsfälle

**→** [**Ausdrücke**](https://docs.polyteia.com/formulare/erweitert/ausdruecke) – Für komplexe Logik und erfahrene Nutzer

**→** [**Validierungsregeln**](https://docs.polyteia.com/formulare/erweitert/validierung) – Eingaben automatisch prüfen

**→** [**Feldtypen**](https://docs.polyteia.com/formulare/erstellen/feldtypen) – Welche Felder können in Bedingungen verwendet werden?
