.. _user_handbook/table_manager/record_form/validazione_campi: Validazione dei campi ===================== Al fine di garantire la completezza e la conformità dei dati inputati rispetto alle specifiche richieste dalla tabella è possibile che nelle :ref:`form` di Genropy siano applicati su alcuni campi dei controlli automatici. Questi fanno sì che la mancanza o la non corretta imputazione del dato all'interno di un campo venga segnalata all'utente in due modi: - tringolo rosso o punto esclamativo rosso presente nei campi obbligatori - messaggi di alert con l'indicazione dell'errore di validazione, una volta che l'utente toglie il focus dal campo dopo averlo lasciato vuoto o compilato con dati non conformi. .. image:: /_static/images/table_manager/record_form/00_validazione.png :width: 700px :align: center ------------------------------------------------------------------------------------ .. image:: /_static/images/table_manager/record_form/02_validazione_ko.png :width: 700px :align: center Alcuni esempi di controlli di validazione implementati: - Obbligatorietà dei campi - Conformità del dato inserito rispetto a un tipo di formato, come ad esempio email, P.IVA, codice fiscale, etc. - Correttezza rispetto al numero di caratteri massimo/minimo del dato inserito. - Correttezza del tipo di dato che può essere un testo, un numero, una data, un'immagine - Conformità del dato numerico o data rispetto ad un intervallo di valori soglia di validità - Altri criteri personalizzati che verifichino la coerenza del dato rispetto ad altri valori già inseriti. Validità della form ------------------- La validità o meno di ogni campo determina la validità dell'intera form. Ovvero, se anche soltanto un campo risulta non valido rispetto ai controlli di validazione l'intera form è posta in uno *stato di non validità* rappresentato dal semaforo rosso nella :ref:`barra degli strumenti` . Se la form si trova in questo stato è impossibile salvare il record: in questo modo si evita che vengano trascritti su database dei record non validi, cioè non conformi alle specifiche definite per la form. Se dopo eventuali correzioni o completamento di dati mancanti il semaforo della barra degli strumenti diventa giallo vuol dire che la form è entrata in uno stato di validità, ma che vi sono ancora *modifiche pendenti*. Con il termine *modifiche pendenti* si intendono valori inseriti nella form, o modificati rispetto allo stato in cui la form era stata caricata, ma che ancora non stati registrati sul database da un'operazione di salvataggio tramite l'icona del dischetto. .. image:: /_static/images/table_manager/record_form/03_validazione_ok_1.png :width: 700px :align: center Stato della form ---------------- Il concetto di *stato della form* era già stato accennato quando abbiamo parlato dell'icona semaforo all'interno della *barra degli strumenti*. Tuttavia è utile soffermarsi nuovamente su di esso, dopo aver parlato della *validità della form*. Dunque come si è detto in precedenza, la form può trovarsi in tre stati **Nessuna modifica in corso** Questo stato, associato al semaforo di colore verde implica che la form non ha *modifiche pendenti*, né campi non validi. Questo stato si può verificare quando sto creando un nuovo record che non richiede campi obbligatori, quando ho appena caricato un record esistente oppure quando ho appena salvato una modifica. In questo stato non serve salvare, perché ciò che è mostrato a video corrisponde allo stato del database. .. image:: /_static/images/table_manager/record_form/01_bottoni_modifica_3.png :width: 100px :align: center **Modifiche in corso** Questo stato, associato al semaforo di colore giallo significa che la form ha delle *modifiche pendenti*, ma nessun valore *non valido*. .. image:: /_static/images/table_manager/record_form/01_bottoni_modifica_1.png :width: 100px :align: center **Form non valida** Questo stato, associato al semaforo rosso, significa che la form ha almeno un campo non valido. Questo implica l'impossibilità di salvare il record sul database fintanto che la form si trova in questo stato. .. image:: /_static/images/table_manager/record_form/02_bottoni_modifica.png :width: 100px :align: center