BLOG

02 luglio 2018 - Web

Validare i dati trasmessi dagli utenti mediante un form

validare-dati.jpg

Validare i dati trasmessi mediante un modulo o form è una operazione da considerare scontata durante la fase progettuale di un applicativo perché fondamentale affinché il database di un sito o di una applicazione web riceva e memorizzi delle informazioni assolutamente conformi allo standard richiesto.

Validare significa verificare la validità di qualcosa e nel contesto che verrà esaminato significa appunto verificare che i dati trasmessi siano validi e rispondenti ai criteri decisi in fase di sviluppo per effettuarne il salvataggio. Non è un caso che la validazione venga ritenuta fondamentale proprio contestualmente alla trasmissione dei dati perché la trasmissione da modulo consiste in una immissione manuale dei dati richiesti e nella loro veicolazione a un sistema di elaborazione che presumibilmente li analizzerà e poi salverà.

Se da un lato i database sono già predisposti per ricevere e memorizzare qualunque tipo di dato, dal numerico all'alfanumerico, se un sistema di elaborazione venisse progettato per memorizzare qualunque informazione trasmessa senza appurarne la validità, sarebbe estremamente difficile compiere delle semplici operazioni sul database per verificare l'esistenza di alcuni dati o per operarne un confronto.

Si esamini ad esempio un modulo di adesione in cui oltre ai dati anagrafici venga richiesto l'inserimento del proprio indirizzo e-mail per scongiurare tentativi di spam e confermare la propria volontà di adesione. Per la specificazione e la ricezione dell'indirizzo e-mail viene previsto un campo di tipo text, un campo generico in cui è possibile immettere qualunque tipo di carattere senza alcun vincolo.

<input type="text" name="email" placeholder="Digita il tuo indirizzo e-mail">

Se l'utente non prestasse attenzione alla sua digitazione, non verificando a schermo che ogni tasto digitato venga ricevuto e visualizzato nel campo, potrebbe richiedere la trasmissione di un indirizzo e-mail errato o parziale, aspettando invano la ricezione dell'e-mail di conferma all'adesione. Lo stesso potrebbe accadere predisponendo per gli indirizzi e-mail un campo di tipo email introdotto con HTML5.

<input type="email" name="email" placeholder="Digita il tuo indirizzo e-mail">

In questo caso la richiesta di trasmissione verrebbe interrotta se l'indirizzo e-mail digitato non contenesse al suo interno la chiocciola (@) ma verrebbe avviata, invece, se mancasse il punto nel nome a dominio. Per esemplificare, qualora l'utente digitasse nomecognome@dominio, il dato verrebbe considerato valido; se digitasse nomecognome no.

Il processo di validazione consiste esattamente nell'appurare che l'indirizzo e-mail venga digitato correttamente, con la chioccola e con il nome a dominio compreso di punto ed estensione.

Oppure, se nel modulo di adesione in esame venisse richiesto anche il numero di telefono, sia predisponendo un campo generico di tipo text

<input type="text" name="telefono" placeholder="Digita il tuo numero di telefono">

sia predisponendo un campo HTML5 di tipo tel

<input type="tel" name="telefono" placeholder="Digita il tuo numero di telefono">

potrebbe essere immesso un numero di telefono senza prefisso, incompleto, senza score (-) o senza spazio fra prefisso e numero. Un numero di telefono trasmesso in queste modalità renderebbe ardua una verifica d'esistenza nel database o una ricerca di adesioni per nazione utilizzando come riferimento il prefisso.

In casi simili e anche e soprattutto più complessi la validazione è d'obbligo e rivela tutta la sua efficacia per alimentare un archivio normalizzato, utilizzabile e con dati lineari.

La validazione nel web può avvenire sia mediante Javascript sia durante il processo di elaborazione e trasmissione mediante un linguaggio lato server, come PHP.

Mentre la validazione Javascript non può essere considerata una validazione definitiva ma soltanto propedeutica perché:

  • Se l'utente disabilita Javascript nel suo browser di navigazione, qualunque tipo di validazione fallisce, avviando la trasmissione di dati impuri;
  • Il codice Javascript è visibile a chiunque voglia visualizzare il codice sorgente della pagina: se l'utente utilizza dei tool di editing, rimuovendo le istruzioni deputate alla validazione, il modulo viene trasmesso senza alcun controllo.

La validazione lato server, se sviluppata bene, salvo problemi di sicurezza può essere considerata una validazione definitiva. Il codice deputato alla validazione in questo caso non può in alcun modo essere visualizzato né rimosso o modificato. Tutti i dati immessi verranno sottoposti al vaglio, superando i controlli se digitati correttamente, provocando l'interruzione dell'elaborazione in caso contrario.

Generalmente nelle applicazioni web professionali vengono predisposte entrambe le modalità di validazione per garantire continuità nella trasmissione (UX) attraverso l'azione combinata della validazione propedeutica che obbliga l'utente alla corretta digitazione del dato e della validazione definitiva che ne appura in ultima analisi la conformità.
Laddove invece viene predisposta soltanto la validazione definitiva, si penalizza la UX perché si ritiene che una validazione sia sufficiente, evitando di impegnare del tempo nello sviluppo di istruzioni propedeutiche passibili di variazioni/rimozione.

Un plug-in molto utilizzato per la validazione lato client è Validation di jQuery, efficace e personalizzabile per funzioni non previste di default. Da associare a un solido sistema di validazione lato server che non deve assolutamente mancare in qualsiasi applicazione web.

Fonte immagine: Google Immagini

CATEGORIE