> ## Documentation Index
> Fetch the complete documentation index at: https://docs.exoid.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Logiche e condizioni

> Mostra o salta una domanda con le condizioni di visibilità, e ramifica l'intervista con le regole di navigazione.

A decidere cosa vede il rispondente sono due meccanismi diversi. La **condizione di visibilità** decide se una domanda compare. La **regola di navigazione** decide dove va il rispondente dopo che ha risposto. Apri entrambe dal pannello della domanda, e puoi usarle sullo stesso blocco.

<Note>
  Le condizioni si costruiscono con la stessa interfaccia in tutto Exoid: sui blocchi, nei filtri dei risultati e nelle quote. Imparata in un punto, la sai in tutti e tre.
</Note>

## Condizione di visibilità

Il pulsante sul blocco si chiama **Condizione di salto**, ma il modale che apre si intitola **Condizione di visibilità** — "Mostra questa domanda quando la condizione è soddisfatta". In alto c'è un selettore **Mostra / Salta**, e cambia quello che la condizione fa:

* **Mostra** — la domanda compare solo se la condizione è vera. Tutti gli altri non la vedono mai.
* **Salta** — la domanda viene saltata quando la condizione è vera, e mostrata a tutti gli altri.

Sono due facce della stessa medaglia. Scegli quella che ti fa scrivere la condizione più semplice e fermati lì.

### Gli elementi di una condizione

Ogni condizione si compone di tre parti.

<ParamField path="Domanda di riferimento" type="obbligatorio">
  La domanda la cui risposta viene valutata. La scegli per codice domanda.
</ParamField>

<ParamField path="Operatore" type="obbligatorio">
  Il tipo di confronto da applicare a quella risposta.
</ParamField>

<ParamField path="Valore" type="obbligatorio">
  Il valore da verificare perché la condizione risulti vera.
</ParamField>

### Condizioni impilate e gruppi

Spesso una condizione sola non basta. Puoi aggiungerne altre, unite da un operatore.

| Operatore   | Comportamento                           |
| ----------- | --------------------------------------- |
| **AND (E)** | Tutte le condizioni devono essere vere. |
| **OR (O)**  | Almeno una condizione deve essere vera. |

Puoi anche annidare dei **gruppi**: un gruppo è un insieme di condizioni valutate insieme, che poi vale come una condizione sola nel livello superiore. È così che scrivi "(area è Nord OPPURE area è Centro) E età superiore a 35" senza spezzare la domanda in due.

<Tip>
  Costruisci i gruppi prima di aggiungere le condizioni esterne. Riorganizzare dopo un elenco lungo e piatto costa più tempo che partire dalla struttura giusta.
</Tip>

## Regole di navigazione

Le **Regole di navigazione** sono la funzione di ramificazione vera e propria. Si aprono dal blocco su un modale intitolato **Edit logic for \<codice domanda>** e dicono dove va il rispondente una volta che ha risposto a quel blocco.

Il modale ha due forme.

<Steps>
  <Step title="Vai sempre a">
    Una riga sola: qualunque cosa risponda, il rispondente va alla destinazione che scegli. La usi per scavalcare una sezione o per mandare tutti a una schermata finale precisa.
  </Step>

  <Step title="Un elenco di regole">
    Righe nella forma `se <domanda> è <valore> → <destinazione>`. Ogni riga manda una risposta diversa in un punto diverso.
  </Step>

  <Step title="In tutti gli altri casi vai a">
    L'ultima riga chiude l'elenco: raccoglie tutti i rispondenti che nessuna regola sopra ha intercettato. Impostala con criterio, è il percorso predefinito del blocco.
  </Step>
</Steps>

### L'ordine delle regole conta

Le regole si valutano dall'alto verso il basso e **vince la prima che si verifica**. Quelle sotto non vengono nemmeno considerate, anche se sarebbero altrettanto vere.

Riordini le regole trascinandole. Metti in cima la regola più specifica e in fondo la più ampia: una regola larga messa per prima si prende tutto il traffico che doveva andare a quelle dopo.

## Quale delle due ti serve

<CardGroup cols={2}>
  <Card title="La domanda non va posta" icon="eye-off">
    Usa una condizione di visibilità. Il rispondente scavalca il blocco e prosegue nel flusso normale.
  </Card>

  <Card title="Il percorso deve cambiare" icon="split">
    Usa una regola di navigazione. Il rispondente risponde, e la risposta decide qual è il blocco successivo.
  </Card>
</CardGroup>

Usarle insieme sullo stesso blocco è legittimo: la condizione di visibilità decide se la domanda viene posta, la regola di navigazione decide dove porta la risposta.

## Prossimi passi

<CardGroup cols={2}>
  <Card title="Variabili di contesto" icon="braces" href="/it/logica/variabili">
    Salva valori dall'URL o da una risposta e riusali in tutta l'intervista.
  </Card>

  <Card title="Script" icon="code" href="/it/avanzate/script">
    Esegui JavaScript su un blocco per impostare una variabile in base alle risposte già raccolte.
  </Card>

  <Card title="Opzioni dei blocchi" icon="sliders-horizontal" href="/it/builder/opzioni-blocchi">
    Il codice domanda a cui si riferiscono condizioni e regole, e le impostazioni comuni a tutti i blocchi.
  </Card>

  <Card title="Quote" icon="chart-pie" href="/it/distribuzione/quote">
    Lo stesso costruttore di condizioni, usato per limitare quanti profili di un certo tipo possono completare.
  </Card>
</CardGroup>


## Related topics

- [Espressioni logiche avanzate](/it/logica/espressioni.md)
- [Opzioni dei blocchi](/it/builder/opzioni-blocchi.md)
- [Trasporto delle opzioni](/it/logica/trasporto-opzioni.md)
