Layer 06

Validazione in CF

cfinput è possibile specificare l’opzione validate ed il tipo di validazione, lo strumento è molto flessibile, in quanto oltre alle normali validazioni ha la possibilità di inserire anche le regexp specificando regular_expression
. L’utilizzo dell’opzione validate risolve molti problemi relativi al ricaricamento della pagina con la form, infatti in questo modo al poso di caricare un’altra pagina, controlalre i parametri, restituire un’errore e quindi ricaricare la pagina principale, viene tutto controllato tramite javascript direttamente sul client, senza scrivere una sola riga di codice in più (molto RAD hehhe) Le opzioni disponibili sono:

Opzione del validate Descrizione
date Verifica della data in formato americano (mm/gg/aaaa)
eurodate Verifica della data in formato europeo (gg/mm/aaaa)
time Formato ora hh:mm:ss
float Numero con decimali (attenzione il punto è il separatore dei decimali, non la virgola)
integer Numero intero (qualsiasi altro tipo di numero o stringa alfanumerica non è valido)
regular_expression Utilizzando l’attributo pattern sarà possibile specificare una regexp per validare la stringa
Nella presente tabella ho omesso ulcune opzioni del validate perchè non corrispondono al tipo italiano, come a d esempio zipcode che è valido solo per gli americani
Esiste inoltre l’attributo range che permette di specificare un insieme di valore tipo da …. a, esso infatti funziona solo per i numeri.
Per questo attributo nella versione 5 di coldFusion non si possono mettere i numeri con decimali, mentre nella versione MX funzionano. Vediamo alcuni esempi su come validare l’input:

<cfinput type = "Text" name = "TestRange" range = "1,5" message = "devi inserire un valore intero compreso tra 1 e 5" validate = "integer" required = "No">

visualizzerà una finestra d’errore se il valore inserito non è compreso tra un dato range (1 e 5).

<cfinput type = "Text" name = "data" message = "Inserire una data formattata correttamente (gg/mm/aaaa)" validate = "eurodate" required = "No">

visualizzerà una finestra d’errore se il valore inserito non è una data formattata correttamente.

<cfinput type="text" name="email" validate="regular_expression" pattern="^[A-Za-z0-9._-]+@([0-9a-zA-Z][0-9A-Za-z_-]+.)+[a-z]{2,4}$" message="inserire un indirizzo e-mail valido">

Permette di visualizzare una finestra di errore con una regular expression che restituirà falso se l’indirizzo mail non è formalmente valido, e vero nel caso contrario.
]]>