# Bedingungen

Bedingungen machen Ihr Formular intelligent: Felder erscheinen nur, wenn sie gebraucht werden, Pflichtfelder passen sich an die Situation an, und überflüssige Fragen werden automatisch übersprungen.

## Was sind Bedingungen?

Denken Sie an ein Papierformular mit dem Hinweis: "Bitte nur ausfüllen, falls zutreffend." Bei digitalen Formularen können solche Abhängigkeiten automatisch funktionieren – das Feld wird nur angezeigt, wenn es relevant ist.

**Analogie aus dem Alltag:**

Stellen Sie sich eine Veranstaltungsanmeldung vor:

* Frage 1: "Wie möchten Sie Ihre Tickets erhalten?"
  * Option A: Per E-Mail (PDF)
  * Option B: Per Post

Wenn jemand "Per Post" wählt, erscheint automatisch ein Adressfeld. Bei "Per E-Mail" bleibt dieses Feld unsichtbar – niemand muss sich fragen, ob er es ausfüllen soll oder nicht.

## Bedingungen hinzufügen

{% stepper %}
{% step %}
**Feld auswählen**

1. Öffnen Sie Ihr Formular im Editor
2. Klicken Sie auf das Feld, für das Sie eine Bedingung erstellen möchten
3. Im Konfigurationsmenü rechts erscheinen die Feldeinstellungen

{% hint style="info" %}
**Hinweis:** Sie können Bedingungen nur für einzelne Felder erstellen, nicht für ganze Seiten. Um eine ganze Seite bedingt anzuzeigen, verwenden Sie die Seiten-Einstellungen.
{% endhint %}
{% endstep %}

{% step %}
**Bedingungstyp wählen**

1. Wechseln Sie zum Reiter **"Bedingungen"** im Konfigurationsmenü
2. Klicken Sie auf **"Bedingung hinzufügen"**
3. Wählen Sie den Typ:

{% tabs %}
{% tab title="Anzeigen" %}
**Anzeigen**

Das Feld ist standardmäßig **versteckt** und erscheint nur, wenn die Bedingung **erfüllt** ist.

{% hint style="info" %}
**Voraussetzung:** Sie müssen das Feld zunächst im Reiter **"Allgemein"** → **"Versteckt"** aktivieren, damit diese Option verfügbar wird.
{% endhint %}

**Wann verwenden:**

* Optionale Zusatzinformationen, die nur für bestimmte Gruppen relevant sind
* Folgefelder, die von vorherigen Antworten abhängen

**Beispiel:** "Zeige das Feld 'Firmename' nur, wenn bei 'Antragsteller' die Option 'Unternehmen' gewählt wurde."
{% endtab %}

{% tab title="Ausblenden" %}
**Ausblenden**

Das Feld ist standardmäßig **sichtbar** und wird versteckt, wenn die Bedingung **erfüllt** ist.

**Wann verwenden:**

* Felder, die normalerweise sichtbar sind, aber in bestimmten Fällen irrelevant werden
* Umkehrlogik (einfacher als "Anzeigen, wenn nicht...")

**Beispiel:** "Verstecke das Feld 'Erziehungsberechtigte', wenn das Alter über 18 ist."
{% endtab %}

{% tab title="Pflichtfeld" %}
**Pflichtfeld**

Das Feld ist optional und wird zum **Pflichtfeld**, wenn die Bedingung **erfüllt** ist.

**Wann verwenden:**

* Felder, die nur manchmal ausgefüllt werden müssen
* Abhängige Pflichtangaben

**Beispiel:** "Mache das Feld 'Begründung' zum Pflichtfeld, wenn 'Sonderfall' gewählt wurde."
{% endtab %}

{% tab title="Deaktivieren" %}
**Deaktivieren**

Das Feld kann bearbeitet werden und wird **deaktiviert**, wenn die Bedingung **erfüllt** ist.

**Wann verwenden:**

* Felder, die unter bestimmten Umständen nicht mehr geändert werden sollen
* Berechnete oder automatisch ausgefüllte Felder

**Beispiel:** "Deaktiviere das Feld 'Kontonummer', wenn 'Rechnung' als Zahlungsart gewählt wurde."
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Bedingung definieren**

Jetzt legen Sie fest, wann die Bedingung gelten soll:

{% tabs %}
{% tab title="Visueller Ersteller (Empfohlen)" %}
**Bedingungen ohne Code erstellen:**

1. **Feld auswählen:** Welches andere Feld soll geprüft werden?
2. **Vergleichsart wählen:**
   * entspricht
   * entspricht nicht
   * größer als
   * kleiner als
   * ist ausgefüllt
   * ist nicht ausgefüllt
   * entspricht Regex (Muster)
3. **Wert eingeben:** Mit welchem Wert soll verglichen werden?

**Beispiel:**

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

→ Mehr Details: [Visueller Bedingungseditor](/formulare/erweitert/bedingungseditor.md)
{% endtab %}

{% tab title="Ausdruck (Fortgeschritten)" %}
**Bedingungen als Ausdruck schreiben:**

Für komplexe Logik können Sie Ausdrücke direkt eingeben:

```
antragsteller == 'Unternehmen'
```

oder kombiniert:

```
antragsteller == 'Unternehmen' && umsatz > 100000
```

{% hint style="info" %}
**Hinweis:** Um Ausdrücke zu schreiben, erstellen Sie zunächst eine Bedingung mit dem visuellen Editor und klicken dann auf **"Als Code bearbeiten"**. So wechseln Sie in den Ausdruck-Modus.
{% endhint %}

→ Mehr Details: [Ausdrücke verstehen](/formulare/erweitert/ausdruecke.md)
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Testen und Speichern**

1. **Speichern Sie die Bedingung** mit Klick auf "Speichern"
2. **Öffnen Sie die Vorschau** (Button oben rechts)
3. **Testen Sie alle Pfade:**
   * Was passiert, wenn die Bedingung erfüllt ist?
   * Was passiert, wenn sie nicht erfüllt ist?
   * Funktioniert die Logik wie erwartet?

{% hint style="warning" %}
**Wichtig:** Testen Sie IMMER in der Vorschau, bevor Sie das Formular freischalten. Fehlerhafte Bedingungen können Nutzer verwirren oder am Absenden hindern.
{% endhint %}
{% endstep %}
{% endstepper %}

## Mehrere Bedingungen kombinieren

Sie können mehrere Bedingungen für ein Feld erstellen und mit UND oder ODER verknüpfen:

### UND-Verknüpfung

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

**Beispiel:**

* Feld erscheint nur, wenn:
  * Antragsteller ist "Unternehmen" **UND**
  * Umsatz ist kleiner als 500.000 **UND**
  * Standort ist "Deutschland"

### ODER-Verknüpfung

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

**Beispiel:**

* Feld erscheint, wenn:
  * Antragsteller ist "Unternehmen" **ODER**
  * Antragsteller ist "Freiberufler"

→ Mehr Details: [Visueller Bedingungseditor](/formulare/erweitert/bedingungseditor.md)

## Bedingungen für Seiten

Nicht nur einzelne Felder, sondern auch ganze Seiten können bedingt angezeigt werden:

1. Klicken Sie auf den **Seitenkopf** (z.B. "Seite 1", "Seite 2") in der Arbeitsfläche
2. Im Konfigurationsmenü rechts erscheinen die Seiteneinstellungen
3. Wechseln Sie zum Reiter **"Bedingungen"**
4. Fügen Sie eine Bedingung hinzu (analog zu Feldern)

**Anwendungsfall:** Eine ganze Seite mit Firmendaten erscheint nur, wenn "Unternehmen" als Antragsteller gewählt wurde.

{% hint style="info" %}
**Tipp:** Achten Sie darauf, dass keine Pflichtfelder auf bedingten Seiten liegen, die möglicherweise nicht erreichbar sind.
{% endhint %}

## Häufige Fehler vermeiden

### ❌ Fehler 1: Feld existiert nicht

**Problem:** Sie verweisen auf ein Feld, das nicht existiert oder gelöscht wurde.

**Lösung:** Prüfen Sie die Feldnamen genau. Die Namen müssen exakt übereinstimmen (Groß-/Kleinschreibung beachten).

***

### ❌ Fehler 2: Zirkuläre Abhängigkeiten

**Problem:** Feld A hängt von Feld B ab, und Feld B hängt von Feld A ab.

**Lösung:** Vermeiden Sie solche Abhängigkeiten. Jedes Feld sollte nur von Feldern abhängen, die davor im Formular vorkommen.

***

### ❌ Fehler 3: Zu komplexe Bedingungen

**Problem:** Viele verschachtelte Bedingungen werden schnell unübersichtlich.

**Lösung:** Halten Sie Bedingungen einfach. Lieber mehrere einfache Bedingungen als eine sehr komplexe.

***

### ❌ Fehler 4: Pflichtfeld nicht erreichbar

**Problem:** Ein Pflichtfeld ist durch Bedingungen versteckt, aber trotzdem erforderlich.

**Lösung:** Achten Sie darauf, dass Pflichtfelder immer erreichbar sind. Kombinieren Sie "requiredIf" mit "visibleIf" für dasselbe Feld.

***

### ❌ Fehler 5: Fehlende Tests

**Problem:** Bedingungen wurden nicht in allen Szenarien getestet.

**Lösung:** Durchlaufen Sie **alle möglichen Pfade** in der Vorschau. Was passiert bei verschiedenen Antworten?

## Bedingungen bearbeiten oder löschen

### 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. Ändern Sie die Einstellungen
5. Speichern Sie

### Bedingung löschen

1. Klicken Sie auf das Feld mit der Bedingung
2. Wechseln Sie zum Reiter "Bedingungen"
3. Klicken Sie auf "Löschen" neben der Bedingung
4. Bestätigen Sie die Löschung

## Bedingungen nach der Freischaltung

{% hint style="warning" %}
**Wichtig:** Sie können Bedingungen auch nach der Freischaltung ändern, aber seien Sie vorsichtig:

* Laufende Einreichungen könnten betroffen sein
* Bereits begonnene Formulare verhalten sich möglicherweise anders
* Testen Sie Änderungen immer in einer Kopie des Formulars
  {% endhint %}

**Empfehlung:** Planen Sie Bedingungen vor der Freischaltung sorgfältig. Spätere Änderungen sollten nur in Ausnahmefällen erfolgen.

## Weitere Hilfe

**→** [**Visueller Bedingungseditor**](/formulare/erweitert/bedingungseditor.md) – Bedingungen ohne Programmierung erstellen

**→** [**Ausdrücke**](/formulare/erweitert/ausdruecke.md) – Komplexe Logik für erfahrene Nutzer

**→** [**Validierungsregeln**](/formulare/erweitert/validierung.md) – Eingaben automatisch prüfen

**→** [**Feldtypen**](/formulare/erstellen/feldtypen.md) – Übersicht aller verfügbaren Felder


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.polyteia.com/formulare/erweitert/bedingungen.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
