Nella validazione ‘onFly’ di un campo di un form ci si affida principalmente a JS in quanto è l’unico linguaggio presente client side abbastanza potente per eseguire operazioni di questo tipo.
L’alternativa sarebbe quelle di fare chiamate asincrone al server ed attendere la risposta, ma questo approccio è mento efficiente ed ha senso solo se la validazione specifica ha esigenze particolari (come l’accesso ad un DB o il desiderio di ‘celare’ una certa porzioni di codice.
Per avere un approccio completo alla validazione dei campi dobbiamo aver chiaro che ci sono tre aree su cui il programmatore può intervenire:
- individuare il momento (l’evento o gli eventi) più adatti in cui eseguire la validazione.
- Essere in grado di leggere il campo, che significa non solo recuperare l’eventuale ‘.value’ ma anche tutti gli elementi accessori (è un radio button checked? Qual’è il testo dell’option selezionato?)
- Essere in grado di intervenire sul campo, anche in questo caso non si tratta solo di cancellare o riscrivere ‘.value’, ma eventualmente di disabilitare un option, selezionare/deselezionare una serie di checkbox in un colpo solo e cose del genere)
Ho preferito approcciare l’argomento esaminando campo per campo, anche se questo comporta un certo grado di ridondanza (ad esempio, in molti casi l’evento usato per innescare la chiamata è lo stesso per molti campi) perché in questo modo tutto il lavoro può essere usato agevolmente come quick reference in caso di necessità.
Di seguito l’indice dei campi esaminati:
- <input type=”text”>
- <input type=”radio”>
- <select> <option>
- <textarea>
- <input type=”checkbox”>
- Raffronto tra <input type=”submit> <input type=”button”> e <buttton>