🧩 Conditions & Rules (GUI Editor)

The “Conditions and Rules” tab in the form settings is the more modern, visual editor for field logic — showing/hiding fields, making fields mandatory dynamically, calculating values, filtering options. It is the recommended method for most use cases.

> ⚠️ Beta status: The feature is live, but we are still testing edge cases. If a specific setup does not behave as expected: send a quick email to hello@propform.io with the form ID — we’ll look into it.


Contents


Available actions

For each rule, you select an action that is executed when the condition is met:

Action Effect
Hide Field is no longer displayed (value remains empty on submission)
Show Fields hidden by default are made visible
Make required Validation enforces input before submission
Lock Field remains visible but cannot be edited (e.g. after first submission)
Hide options For single/multi-select: remove specific values from the selection
Set value Field is assigned a fixed value
Calculate value Field is assigned the result of a formula (see below)
Change label Dynamically replace field label (e.g. “Purchase price” → “Rental price”)

---

Conditional operators

Conditions check the value of another field. Available operators:

  • ist gleich / ist nicht gleich
  • ist leer / ist nicht leer
  • enthält / enthält nicht (for multi-select & text fields)
  • ist größer als / ist kleiner als (for numbers)
  • ist größer-gleich / ist kleiner-gleich

Multiple conditions per rule are linked using AND (all must apply) or OR (one is sufficient) — selectable per rule.

---

Calculations between fields (Calculate value)

With the “Calculate value” action, you can arithmetically combine values from multiple fields — e.g. automatically calculate an internal commission from the purchase price and commission percentage.

The formula uses pipe syntax with field IDs:

{{multiply:field:125802|field:125803|/100}}

→ multiplies the values from field ID 125802 and field ID 125803, then divides the result by 100.

Step by step

Example setup: Three fields in the form — Kaufpreis (number field), Prozent Innenprovision (number field), Summe Innenprovision (number field).

1. Find the field IDs

The field ID is the DOM ID of the <input> element in the form. Here’s how to find it:

  • Open the form in your browser
  • Right-click on the relevant field → Inspect
  • In the DevTools panel, expand the surrounding <div> — the field ID is listed in the ID property (e.g. 125802)
  • Note down the IDs of all three fields

2. Create a rule

‘Conditions and Rules’ tab → New rule:

  • Condition: Kaufpreis is not empty AND Prozent Innenprovision is not empty
  • Action: Calculate value → Field Summe Innenprovision
  • Formula in the Value field:
{{multiply:field:<ID-Kaufpreis>|field:<ID-Provisions-Prozent>|/100}}

3. Live test

Open form → Enter purchase price → Enter commission percentage → Total is calculated automatically.

Pipe syntax operators

Operators are chained together using the pipe |:

Pattern Meaning Example
multiply:... Multiplication `multiply:field:A
add:... Addition `add:field:A
subtract:... Subtraction `subtract:field:A
divide:... Division `divide:field:A
/<zahl> Division by a fixed value `multiply:field:A
*<zahl> Multiply by fixed value `add:field:A

field: vs. field_value:

Syntax When to use?
field:<ID> For number fields: returns the entered value. For single-select: returns the plain name (e.g. “Flat”)
field_value:<ID> For single-select: returns the technical key value (e.g. ind_3673). Important for comparisons in IF() conditions

For pure numeric fields, field: and field_value: return the same result — both work.

Use Cases

  • Internal commission calculator: Purchase price × percentage ÷ 100
  • Yield calculation: (Rental income − costs) ÷ investment amount × 100
  • Gross/net conversion: Net × 1.19
  • Price per square metre: Price ÷ floor area
  • Residual value calculation (developer mode, combinable in multiple stages)

> 💡 UX note: The current setup using DevTools IDs and pipe syntax isn’t particularly intuitive. A visual formula editor is on the roadmap.


## One-way vs. two-way conditions

Most actions are applied sticky (one-way) — once the condition has been met, the effect remains, even if the condition becomes false again. Only a few actions automatically revert to their original state (two-way).

Action Behaviour
Hide / Show One-Way (sticky) — the set visibility state remains; for the reverse, you need a second rule
Lock / Unlock One-Way
Read-only / Editable One-Way
Required / Optional One-Way (STICKY) — if condition becomes false again, the required state remains
Hide options Two-Way — options are automatically shown again when the condition becomes false
Show options again One-Way (sticky show)
Set value / calculate (standard fields) One-Way — set value remains
Set value for image/video fields Two-Waysrc is automatically reset to the original value
Change label Two-Way — original label automatically returns when condition becomes false

> 💡 For actions that are One-Way: if you want to undo them, you need a second rule with the inverse condition to restore the original state. Example: One rule shows the field, a second rule hides it again.


Priorities when multiple rules apply

If multiple rules affect the same field (e.g. Rule 1 sets the value to X, Rule 2 sets the value to Y), the priority decides:

  • Higher number = higher priority
  • In the event of a tie: the later rule in the editor takes precedence

> 💡 Best practice: Assign priorities in increments of 10 (10, 20, 30, …) so that you can insert rules in between later.


Typical setups

“Marketing type changes → Adjust label”

  • Condition: Vermarktungsart = Miete
  • Action: Field Kaufpreis → Change label to Kaltmiete
  • Action 2: Field Kaufpreis → Add suffix (€/Monat)

“If commission-free → Hide commission fields”

  • Condition: Provisionsfrei = Ja
  • Action: Fields Provision Außen, Provisions-Prozent, MwSt. → Hide

“Buyer name must be filled in for sales contracts”

  • Condition: Vertragsart = Kaufvertrag
  • Action: Fields Käufer-Vorname + Käufer-Nachname → Required fields

“Calculate internal commission automatically”

  • Condition: Kaufpreis is not empty AND Provisions-Prozent is not empty
  • Action: Field Summe Innenprovision → Calculate value → {{multiply:field:KAUFPREIS_ID|field:PROZENT_ID|/100}}

“Filter single-select options based on another field”

  • Condition: Bundesland = Bayern
  • Action: Field Region → Hide options → all except the Bavarian regions

Related