# Impostare delle azioni automatiche: le logiche

Le logiche sono uno strumento potente per rendere i moduli dinamici e reattivi a ciò che l’utente inserisce. Permettono di eseguire azioni automatiche sui componenti del form in base a condizioni specifiche.&#x20;

Accedi alla sezione "Logic" del componente e clicca su "Add logic" per creare un nuovo *conditional logic.*

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FcsITIr8g44WsduqKdBeT%2Fimage.png?alt=media&#x26;token=a62f52a1-e802-44f1-ad54-ff1d703a5714" alt=""><figcaption></figcaption></figure>

Una volta creata la logica:

* dai un titolo (1);
* scegli il *trigger* (es. *simple*) (2);
* stabilisci in quali casi si deve attivare (3).

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FQtlqpflWU1UW7VUJrAFO%2Fimage.png?alt=media&#x26;token=17a77a13-098d-47c4-8328-661812eecb51" alt=""><figcaption><p>Nell'immagine viene riportata una logica basata sul tipo <em>simple</em></p></figcaption></figure>

Una volta creata la logica, aggiungi una o più azioni previste cliccando su "Add action"

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2F98nAezrD1IGCd123EdKr%2Fimage.png?alt=media&#x26;token=a5933480-0c9f-4bf4-be88-43c5bd993e03" alt=""><figcaption></figcaption></figure>

Durante la configurazione, dai un titolo all'azione creata (1) e configurala (2)

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FhjOXv2j7e1sZGdrTk5Wa%2Fimage.png?alt=media&#x26;token=0484df36-7d17-4640-8573-e295e476bce8" alt=""><figcaption><p>Nell'immagine, l'azione prevede che il campo venga reso obbligatorio in base alla logica creata in precedenza</p></figcaption></figure>

## Un esempio pratico: modificare la *label* di un *textfield* tramite le logiche

Inserisci un componente [Radio button](https://docs.opencityitalia.it/guida-alla-creazione-dei-servizi-digitali/i-componenti/impostare-le-scelte-utente-select-boxes-e-radio-button#il-radio-button) intitolato "Qual è il tipo di accesso?" con valori "semplice" e "generalizzato".

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FUwvGhXdsNMJJOGU8Zc72%2Fimage.png?alt=media&#x26;token=c527f415-efe8-4e53-bcb9-9bfac8ec3e14" alt=""><figcaption></figcaption></figure>

Una volta fatto, inserisci un componente [*textfield*](https://docs.opencityitalia.it/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/i-componenti/il-textfield) intitolato in base al valore selezionato prima.

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FlcMFV4Dn6ikpQ52Ft6eM%2Fimage.png?alt=media&#x26;token=b4c430bc-32c1-4ded-8ab5-ed76e159ad4a" alt=""><figcaption></figcaption></figure>

Alla voce "Logic" del *textfield* crea una nuova logica, intitolata "Quando il tipo di accesso è semplice"

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FR2xAGHS1m18hvryGkhNo%2Fimage.png?alt=media&#x26;token=088a7a2d-2e3c-4e9d-89c5-b453eb306776" alt=""><figcaption></figcaption></figure>

Seleziona l'opzione  "Simple" come trigger; il componente in relazione al quale impostiamo la logica è "Qual è il tipo di accesso"  e il value "semplice".

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FUcm078bmeiyMX7bylcIt%2Fimage.png?alt=media&#x26;token=05f931bc-d6bf-4a1a-99f7-67b9b40df9bd" alt=""><figcaption></figcaption></figure>

Una volta fatto, aggiungi un'azione intitolata con il nome dell'azione che viene compiuta (es. "la label cambia"), scegliamo l'opzione "Property" come tipo (1) e come *component property*  l'opzione "Label" (2).&#x20;

<div data-full-width="true"><figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2FDHQgZUAoHzAanHWWHFMT%2Fimage.png?alt=media&#x26;token=e10ac1c3-e7d1-405f-a536-c5d632d68894" alt=""><figcaption></figcaption></figure> <figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2Fc5gE9LfNgXff8nkI08sg%2FScreenshot-2025-05-26-16-38-07-05-26-2025_04_38_PM.png?alt=media&#x26;token=0fe9b2e8-8793-4ae2-90ff-cf5164be4c3a" alt=""><figcaption></figcaption></figure></div>

Fatto questo, nel campo "Text", inserisci la label che vogliamo compaia quando il valore selezionato nel radio button è "semplice" (es. "Documento non pubblicato").

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2F18HaxjTzLNAawCWdom9K%2Fimage.png?alt=media&#x26;token=4e250497-454a-4785-89b0-bcab528a214e" alt=""><figcaption></figcaption></figure>

Ripeti il procedimento per modificare la label nel caso in cui il valore del radio button sia invece "generalizzato".

<figure><img src="https://4252442743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrdV0mwA7iy2c3I7wu5BX%2Fuploads%2F66JosZUij3899aWfmgRA%2FScreen%20recording%202025-05-26%2016.40.26.gif?alt=media&#x26;token=8e4f7534-ffa7-49e3-8531-1f25ad95ed7a" alt=""><figcaption></figcaption></figure>
