Validazione dei dati

La piattaforma permette funzioni di validazione dei dati

Obbligatorietà dei contenuti

Per rendere la compilazione di un campo obbligatoria, attiva la funzione "required" nella sezione "Validation"

Dato presente una sola volta nel modulo

Per far sì che un dato possa essere inserito solo una volta durante la compilazione, nella sezione "Validation" del componente attiva la funzione "unique"

Lunghezza minima e massima (datagrid)

Per i componenti Datagrid puoi configurare la lunghezza minima e massima del testo inserito nel campo.

Nella sezione "Validation" del componente, compila le voci Maximum length e Minimum length con valori numerici.

Ricordati di inserire il messaggio di errore che compare all'utente alla voce "Custom error message".

Verificare le date inserite

Una volta inserita la data, puoi configurare il formato e verificare che il cittadino non possa inserire date nel passato.

Verificare l'età di una persona

Durante la configurazione di una data, nel caso in cui il servizio preveda l'inserimento di una data di nascita, puoi controllare che questa venga inserita correttamente.

Nella sezione "Validation" del componente, compila la voce "Custom validation" con il codice JavaScript di verifica, ad esempio prevedendo che venga inserita la data di nascita di un minorenne

date = moment(input, 'DD/MM/YYYY')
if (date.isAfter(moment())) {
  valid = "La data non può essere nel futuro"
} else {
  if (moment().diff(date, 'years') > 18) {
    valid = "L'età inserità non è quella di un minorenne"
  }
}

Regular expression pattern

Il pattern è una stringa che rappresenta una espressione regolare usata per verificare se il valore inserito in un campo rispetta certe regole di formato. È un modo per assicurarsi che, ad esempio, un campo email, telefono o codice postale abbia la struttura corretta.

Nella sezione "Validation" del componente (normalmente un Text field), compila la voce "Regular expression pattern" con la struttura prevista dal dato inserito

Ricordati di inserire il messaggio di errore che compare all'utente alla voce "Custom error message".

Lunghezza minima e massima del dato

Durante la configurazione di un componente Text field, puoi configurare:

  • la lunghezza del testo (1)

  • il numero di parole (2).

Ricordati di inserire il messaggio di errore che compare all'utente alla voce "Custom error message".

Verificare la residenza del richiedente

Per verificare la residenza del richiente devi:

  • inserire un campo Hidden;

  • compilare la voce "Label" nella sezione "Display" e la voce "Property name" nella sezione "API" con residence_check

  • compilare la voce "Calulated value" della sezione "Data" con il codice JavaScript di controllo

Qui trovi un codice di esempio, che fa una mappatura tra il Comune indicat dall'utente in fase di compilazione e il tenant.

window.FormioHelper.getTenantInfo().then(
(info) => {
tenant = info.name.toLowerCase()
locations = []
residence = data.beneficiary.data.address.data.address_locality
locations.push(residence)
toCheck = []
for (var location of locations) {
if (location !== "") { toCheck.push(location); }
}
toCheck = toCheck.map(function(place){return tenant.search(place.toLowerCase())})
show = true
for (var place of toCheck) {
if (place >= 0) {
show = false
break;
}
}
instance.setValue(show)
}
)

Una volta eseguita questa prima parte:

  • accedi al Json del componente Columns e inserisci il codice di controllo:

Qui trovi un codice di esempio:

{
"label": "Columns",
"columns": [
{
"components": [
{
"label": "HTML",
"tag": "div",
"className": "alert alert-danger",
"attrs": [
{
"attr": "",
"value": ""
}
],
"content": "
Attenzione!
\nNon puoi inviare questa pratica. La residenza del beneficiario non si trova nel Comune",
"refreshOnChange": false,
"key": "html17",
"type": "htmlelement",
"input": false,
"tableView": false
}
],
"width": 12,
"offset": 0,
"push": 0,
"pull": 0,
"size": "md",
"currentWidth": 12
},
{
"components": [
{
"label": "fail_applicant",
"customClass": "d-none",
"disabled": true,
"tableView": false,
"validate": {
"required": true
},
"key": "fail_applicant2",
"type": "checkbox",
"input": true,
"defaultValue": false
}
],
"width": 12,
"offset": 0,
"push": 0,
"pull": 0,
"size": "md",
"currentWidth": 12
}
],
"key": "columns9",
"conditional": {
"show": true,
"when": "residence_check",
"eq": "true"
},
"type": "columns",
"input": false,
"tableView": false
}

Verificare l'indirizzo del richiedente

Per verificare l'indirizzo inserito da un utente in fase di richiesta, inserisci nel modulo un nested form OC-Residenza.

Successivamente, inserisci un campo Columns in cui inserire un campo HTML e un checkbox obbligatorio e disabilitato.

Nella sezione "Contional" del campo Columns compila la voce "Advanced conditions" con il codice di controllo:

Qui trovi un codice di esempio per cui il richiedente viene bloccato quando la provincia inserita non è quella di Trento:

show = 
  data.sport_organization_address?.data.county?.length > 0 &&
  data.sport_organization_address.data.county !== "TN"

Verificare l'ISEE del richiedente

Per verificare il valore ISEE inserito da un utente in fase di richiesta, inserisci nel modulo un nested form OC-ISEE.

Successivamente, inserisci un campo Columns in cui inserire un campo HTML e un checkbox obbligatorio e disabilitato.

Una volta fatto, configura il codice json del componente Columns con il codice di controllo.

Qui trovi un codice di esempio per cui il richiedente viene bloccato quando l'importo ISEE inserito supera i 17.747,58

{
  "label": "Columns",
  "columns": [
    {
      "components": [
        {
          "label": "HTML",
          "tag": "div",
          "className": "alert alert-danger",
          "attrs": [
            {
              "attr": "",
              "value": ""
            }
          ],
          "content": "<h5>Attenzione!</h5>\nL'ISEE riportato è troppo alto. Non è possibile continuare la compilazione",
          "refreshOnChange": false,
          "key": "html9",
          "type": "htmlelement",
          "input": false,
          "tableView": false
        }
      ],
      "width": 12,
      "offset": 0,
      "push": 0,
      "pull": 0,
      "size": "md",
      "currentWidth": 12
    },
    {
      "components": [
        {
          "label": "admitted",
          "customClass": "d-none",
          "tableView": false,
          "clearOnHide": false,
          "validate": {
            "required": true
          },
          "key": "admitted",
          "type": "checkbox",
          "input": true,
          "defaultValue": false
        }
      ],
      "size": "md",
      "width": 12,
      "offset": 0,
      "push": 0,
      "pull": 0,
      "currentWidth": 12
    }
  ],
  "key": "columns2",
  "customConditional": "importo = parseFloat(data.economic_situation_indicator.data.value.replace(\",\",\".\"))\nshow = (importo && importo > 17747.58) ? true : false ",
  "type": "columns",
  "input": false,
  "tableView": false
}

Last updated

Was this helpful?