🧩 Condizioni e regole (editor GUI)

La scheda "Condizioni e regole" nelle impostazioni del modulo è l'editor visivo più moderno per la logica dei campi: mostra/nascondi campi, rendi obbligatori i campi in modo dinamico, calcola valori, filtra opzioni. È il metodo consigliato per la maggior parte dei casi d'uso.

> ⚠️ Stato beta: la funzionalità è attiva, ma stiamo ancora testando i casi limite. Se una configurazione specifica non reagisce come previsto: invia una breve e-mail a hello@propform.io con l'ID del modulo — daremo un'occhiata.


Contenuto


Azioni disponibili

Per ogni regola, scegli un'azione che verrà eseguita se la condizione è soddisfatta: | Azione | Effetto | | Nascondi | Il campo non viene più visualizzato (il valore rimane vuoto al momento dell'invio) | | Mostra | I campi nascosti di default vengono resi visibili | | Rendi obbligatorio | La convalida richiede l'inserimento di dati prima dell'invio | | Blocca | Il campo rimane visibile ma non modificabile (ad es. dopo il primo invio) | | Nascondi opzioni | In caso di selezione singola/multipla: rimuovi determinati valori dalla selezione | | Imposta valore | Il campo riceve un valore fisso | | Calcola valore | Il campo riceve il risultato di una formula (vedi sotto) | | Modifica etichetta | Sostituisce dinamicamente l'etichetta del campo (ad es. "Prezzo di acquisto" → "Prezzo di affitto") |


Operatori di condizione

Le condizioni verificano il valore di un altro campo. Operatori disponibili:

  • ist gleich / ist nicht gleich
  • ist leer / ist nicht leer
  • enthält / enthält nicht (per campi a selezione multipla e campi di testo)
  • ist größer als / ist kleiner als (per i numeri)
  • ist größer-gleich / ist kleiner-gleich

Più condizioni per ogni regola vengono collegate con AND (devono essere tutte soddisfatte) o OR (ne basta una) — selezionabile per ogni regola.


Calcoli tra campi (calcolo del valore)

Con l'azione "Calcola valore" puoi collegare aritmeticamente i valori di più campi — ad es. calcolare automaticamente una commissione interna dal prezzo di acquisto e dalla percentuale di commissione.

La formula utilizza una sintassi pipe con ID campo:

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

→ moltiplica i valori dell'ID campo 125802 e dell'ID campo 125803, divide il risultato per 100.

Passo dopo passo

Esempio di configurazione: tre campi nel modulo — Kaufpreis (campo numerico), Prozent Innenprovision (campo numerico), Summe Innenprovision (campo numerico).

1. Individuare gli ID dei campi

L'ID del campo è l'ID DOM dell'elemento <input> nel modulo. Ecco come trovarlo:

  • Aprire il modulo nel browser
  • Clicca con il tasto destro del mouse sul campo corrispondente → Ispeziona
  • Nel pannello DevTools, espandi l'elemento <div> circostante — l'ID del campo si trova nella proprietà ID (ad es. 125802)
  • Annota gli ID di tutti e tre i campi

2. Creare una regola

Scheda "Condizioni e regole" → Nuova regola:

  • Condizione: Kaufpreis non è vuoto E Prozent Innenprovision non è vuoto
  • Azione: Calcola valore → Campo Summe Innenprovision
  • Formula nel campo Valore:
{{multiply:field:<ID-Kaufpreis>|field:<ID-Provisions-Prozent>|/100}}

3. Test dal vivo

Aprire il modulo → Inserire il prezzo di acquisto → Inserire la percentuale di commissione → Il totale viene calcolato automaticamente.

Operatori della sintassi pipe

Gli operatori vengono concatenati con la pipe |:

Modello Significato Esempio
multiply:... Moltiplicazione `multiply:field:A
add:... Addizione `add:field:A
subtract:... Sottrazione `subtract:field:A
divide:... Divisione `divide:field:A
/<zahl> Divisione per valore fisso `multiply:field:A
*<zahl> Moltiplicazione per valore fisso `add:field:A

field: vs. field_value:

Sintassi Quando utilizzare?
field:<ID> Per i campi numerici: restituisce il valore inserito. Per selezione singola: restituisce il nome descrittivo (ad es. "Appartamento")
field_value:<ID> Per selezione singola: restituisce il valore chiave tecnico (ad es. ind_3673). Importante per i confronti nelle condizioni IF()

Per i campi numerici puri, field: e field_value: forniscono lo stesso risultato — entrambi funzionano.

Casi d'uso

  • Calcolatore di commissioni interne: Prezzo di acquisto × Percentuale ÷ 100
  • Calcolo del rendimento: (Redditi da locazione − Costi) ÷ Somma dell'investimento × 100
  • Conversione lordo/netto: Netto × 1,19
  • Prezzo al metro quadrato: Prezzo ÷ Superficie abitabile
  • Calcolo del valore residuo (modalità promotore immobiliare, combinabile su più livelli)

> 💡 Nota UX: l'attuale configurazione tramite ID DevTools e sintassi pipe non è molto intuitiva. Un editor visivo di formule è in programma.

---

Condizioni unidirezionali vs. bidirezionali

La maggior parte delle azioni viene applicata in modo sticky (unidirezionale): una volta soddisfatta la condizione, l'effetto rimane attivo anche se la condizione torna a essere falsa. Solo poche azioni tornano automaticamente allo stato originale (bidirezionale).

Azione Comportamento
Nascondi / Mostra Unidirezionale (sticky) — lo stato di visibilità impostato rimane; per invertire l'operazione è necessaria una seconda regola
Blocca / Sblocca Unidirezionale
Sola lettura / Modificabile Unidirezionale
Campo obbligatorio / Facoltativo One-Way (STICKY) — quando la condizione torna a essere falsa, lo stato di obbligatorio rimane
Nascondi opzioni Two-Way — le opzioni vengono automaticamente mostrate nuovamente quando la condizione diventa falsa
Mostra nuovamente opzioni One-Way (sticky show)
Imposta valore / calcola (campi standard) One-Way — il valore impostato rimane
Imposta valore per campi immagine/video Two-Waysrc viene automaticamente reimpostato al valore originale
Modifica etichetta Two-Way — l'etichetta originale ritorna automaticamente quando la condizione diventa falsa

> 💡 Per le azioni che sono One-Way: se vuoi annullarle, hai bisogno di una seconda regola con la condizione inversa, che ripristini lo stato originale. Esempio: una regola mostra il campo, una seconda regola lo nasconde nuovamente.


Priorità in caso di più regole

Se più regole agiscono sullo stesso campo (ad es. la regola 1 imposta il valore su X, la regola 2 imposta il valore su Y), è la priorità a decidere:

  • Numero più alto = priorità più alta
  • In caso di parità: prevale la regola inserita per ultima nell'editor

> 💡 Best practice: assegna le priorità in modo consapevole a intervalli di 10 (10, 20, 30, …), in modo da poter inserire altre regole in mezzo in un secondo momento.

---

Configurazioni tipiche

"Il tipo di commercializzazione cambia → Adatta l'etichetta"

  • Condizione: Vermarktungsart = Miete
  • Azione: Campo Kaufpreis → Modifica etichetta in Kaltmiete
  • Azione 2: Campo Kaufpreis → Aggiungi suffisso (€/Monat)

"Se senza commissione → Nascondi campi commissione"

  • Condizione: Provisionsfrei = Ja
  • Azione: Campi Provision Außen, Provisions-Prozent, MwSt. → Nascondi

„Il nome dell'acquirente deve essere compilato nei contratti di vendita"

  • Condizione: Vertragsart = Kaufvertrag
  • Azione: Campi Käufer-Vorname + Käufer-Nachname → Campo obbligatorio

"Calcola automaticamente la commissione interna"

  • Condizione: Kaufpreis non è vuoto E Provisions-Prozent non è vuoto
  • Azione: Campo Summe Innenprovision → Calcola valore → {{multiply:field:KAUFPREIS_ID|field:PROZENT_ID|/100}}

"Filtra le opzioni a selezione singola in base a un altro campo"

  • Condizione: Bundesland = Bayern
  • Azione: Campo Region → Nascondi opzioni → tutte tranne le regioni bavaresi

Correlati