Page 119 - Guida tascabile HTML5
P. 119
Figura 6.27 La convalida prende in considerazione il tipo di input previsto.
TERMINOLOGIA Oltre ai controlli di default ricavati dal tipo di campo input, è possibile
specificare l’attributo pattern con regole di compilazione personalizzate.
CAP: <input type="number" name="cap" pattern="[0-9]{5}">
L’espressione regolare [0-9]{5} rappresenta un numero composto da cinque cifre.
Qualora il valore inserito nel campo non rispettasse tale regola, apparirebbe una
notifica.
Per approfondire le svariate possibilità messe a disposizione dalle espressioni regolari
potete contare su molte risorse online, per esempio http://html5pattern.com offre alcuni
spunti.
La complessità delle espressioni regolari le rende adatte a molti compiti. Per esempio
un’espressione come la seguente verifica che la password inserita contenga almeno
una lettera maiuscola, una lettera minuscola e un numero:
(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$
Per inibire tali controlli è sufficiente associare al tag <form> l’attributo
novalidate: i dati verranno inviati anche senza rispettare le regole previste.
NOTA Nella pratica comune sono pochi gli scenari in cui non è desiderabile la
convalida dei dati inseriti. Per esempio potrebbe essere interessante mantenere la
convalida attiva per il form e aggiungere un pulsante specifico, con attributo
formnovalidate, per consentire all’utente di salvare una versione provvisoria dei dati
inseriti, che potrà essere richiamata e convalidata al momento dell’invio definitivo.
L’attributo autocomplete e il tag <datalist>
Molti campi di ricerca, e non solo, suggeriscono all’utente come completare la
digitazione proponendo una lista di opzioni plausibili (pensate banalmente