CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto...

66
CONVALIDA DEL FORM

Transcript of CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto...

Page 1: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

CONVALIDA DEL FORM

Page 2: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Javascript è un potente strumento per convalidare i form prima che il

contenuto venga inviato.

Page 3: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Le cose più ovvie da controllare sono la corretta sintassi di un indirizzo email, o se i field da

considerare come valori contengono testo, ecc.

Page 4: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Questa pagina tratta le 4 tecniche più importanti.

Page 5: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Osserva questo form:

Page 6: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

EMAIL:

VALUE (0-5):

VALUE (Integer, 3-4 digits):

Do not leave this field empty:

Page 7: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

LA TECNICA

Page 8: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Il codice javascript per convalidare ciò che viene inserito in un form consiste in

quattro funzioni diverse:

Page 9: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

emailvalidation controlla se un valore si accorda alla sintassi generale di un email.

Page 10: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

valuevalidation controlla se un valore è

compreso in un certo intervallo.

Page 11: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

digitvalidation controlla se un valore

consiste in un certo numero di caratteri.

Page 12: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

emptyvalidation controlla se un field è vuoto

oppure no.

Page 13: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

IL CODICE

Page 14: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Il programma spiegato in questa pagina consiste proprio nelle quattro funzioni elencate qui

sotto:

Page 15: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

emailvalidation(this,text)

Page 16: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

valuevalidation(this,min,max,text,type)

Page 17: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

digitvalidation(this,min,max,text,type)

Page 18: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

emptyvalidation(this,text)

Page 19: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Puoi convalidare ogni field ogni volta che questo viene

cambiato, oppure puoi decidere di convalidare i field tutti

insieme, al momento dell' invio.

Page 20: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Nella seconda metà di questa pagina imparerai ad usare tutti

e due i metodi insieme ai programmi:

Page 21: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Prima, osserviamo i diversi programmi di convalida.

Page 22: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

emailvalidation(this,text)

Page 23: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

controlla se un valore si accorda alla sintassi generale di un email.

Page 24: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Parametri opzionali sono: text--testo mostrato in una

casella di allarme se il contenuto è illegale.

Page 25: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

function emailvalidation(entered, alertbox){// E-mail Validation by Henrik Petersen / NetKontoret// Explained at www.echoecho.com/jsforms.htm// Please do not remove this line and the two lines above.with (entered){apos=value.indexOf("@"); dotpos=value.lastIndexOf(".");lastpos=value.length-1;if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2)

Page 26: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

{if (alertbox) {alert(alertbox);} return false;}else {return true;}}}

dotpos=value.lastIndexOf(".");lastpos=value.length-1;if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2)

Page 27: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

digitvalidation(this,min,max,text,type)

Page 28: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

controlla se un valore consiste in un certo numero di caratteri.Parametri opzionali sono: min --numero minimo dei caratteri ammessi nel field.max --numero massimo dei caratteri ammessi nel field.text --testo per la casella di allarme se il contenuto è illegale.type --inserire "I" se sono ammessi solo i numeri interi.

Page 29: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

function digitvalidation(entered, min, max, alertbox, datatype){// Digit Validation by Henrik Petersen / NetKontoret// Explained at www.echoecho.com/jsforms.htm// Please do not remove this line and the two lines above.with (entered){checkvalue=parseFloat(value);if (datatype){smalldatatype=datatype.toLowerCase();

Page 30: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

if (smalldatatype.charAt(0)=="i") {checkvalue=parseInt(value); if (value.indexOf(".")!=-1) {checkvalue=checkvalue+1}};}if ((parseFloat(min)==min && value.length<min) || (parseFloat(max)==max && value.length>max) || value!=checkvalue){if (alertbox!="") {alert(alertbox);} return false;}else {return true;}}}

Page 31: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

emptyvalidation(this,text)

Page 32: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Controlla se il field è vuoto.Parametri opzionali sono: text --testo per la casella di allarme se il contenuto è illegale.

Page 33: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

function emptyvalidation(entered, alertbox){// Emptyfield Validation by Henrik Petersen / NetKontoret// Explained at www.echoecho.com/jsforms.htm// Please do not remove this line and the two lines above.with (entered){if (value==null || value==""){if (alertbox!="") {alert(alertbox);} return false;}else {return true;}}}

Page 34: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Nota: Tutte le funzioni richiedono this per

essere inserite come parametri.Inserisci semplicemente la parola

"this" come parametro quando richiami una delle funzioni. Questo

passerà il contenuto del field corrente alla funzione.

Page 35: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Se non viene inserito alcun testo quando viene dato un nome alla funzione, questa

non farà comparire alcuna casella per avvertire la presenza di un errore.

In ogni caso, la funzione rimanderà il valore "false".

Page 36: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Questa opzione viene usata quando si opera un controllo di diversi errori nello stesso momento. Vale a dire: quando

tutti i field vengono controllati nel momento in cui si clicca sul bottone

d'invio.

Page 37: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

USO DEI PROGRAMMI DI CONVALIDA

Page 38: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Ci sono due modi diversi di chiamare queste funzioni.

Page 39: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Uno viene usato quando si vuole controllare immediatamente dopo avere

inserito qualcosa nel field.

L'altro viene usato quando si vogliono controllare tutti i field

contemporaneamente, quando si clicca sul bottone di invio.

Page 40: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Convalida onChange:Per costringere il browser a

controllare immediatamente ogni field, si aggiunge un onChange ad ognuno dei tag <input> nel form.

Page 41: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Per esempio: se volessimo controllare se il valore di un certo field di testo ha un indirizzo email

valido, inseriremmo questa sequenza:

Page 42: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

<input type="text" name="Email" size="20" onChange="emailvalidation(this,'The E-mail is not valid');">

Page 43: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Convalida onSubmitPotresti invece preferire che il controllo

avvenga contemporaneamente per tutti i field, al momento dell'invio.

Per fare ciò, dovresti aggiungere un evento onSubmit al tag <form>.

Page 44: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Se, per esempio, avessi un form chiamato "myform" e volessi che tutti i

field venissero controllati quando l'utente clicca sul tasto 'invio', dovresti allora creare una funzione in grado di

controllare tutti i field.

Page 45: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Questa funzione dovrà allora venire richiamata da un evento

onSubmit e aggiunta al tag <form>.

Page 46: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Se la funzione si chiamasse "formvalidation()" il tag <form> si

presenterebbe così:

<form onsubmit="return formvalidation(this)">

Page 47: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

La funzione che controlla l'intero form rimanderà un valore "vero" o "falso". Se è vero, il form verrà inviato - se è falso,

l'invio sarà annullato.

Page 48: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Un programma in grado di controllare tutti i field in un form si

presenta così:

Page 49: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

function formvalidation(thisform)

Questa funzione controlla l'intero form prima che sia inviato.

Page 50: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

function formvalidation(thisform){with (thisform){if (emailvalidation(Email,"Illegal E-mail")==false) {Email.focus(); return false;};

Page 51: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

if (valuevalidation(Value,0,5,"Il valore DEVE essere compreso tra 0-5")==false) {Value.focus(); return false;};if (digitvalidation(Digits,3,4,"DEVI inserire 3 or 4 caratteri interi","I")==false) {Digits.focus(); return false;};if (emptyvalidation(Whatever,"Il textfield è vuoto")==false) {Whatever.focus(); return false;};}}

Page 52: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

L'INTERO PROGRAMMASe vuoi usare tutte e quattro le sequenze di convalida e il programma che controlla tutti i field allo stesso tempo, copia pure l'intero codice che troverai qui sotto.

Page 53: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

Nota: La funzione chiamata formvalidation() deve essere necessariamente personalizzata per adattarsi al tuo form.

Page 54: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

<script>

funzione emailvalidation(entered, alertbox){// E-mail Validation by Henrik Petersen / NetKontoret// Explained at www.echoecho.com/jsforms.htm// Please do not remove this line and the two lines above.with (entered)

Page 55: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

{apos=value.indexOf("@"); dotpos=value.lastIndexOf(".");lastpos=value.length-1;if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {if (alertbox) {alert(alertbox);} return false;}else {return true;}}}

Page 56: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

funzione valuevalidation(entered, min, max, alertbox, datatype){// Value Validation by Henrik Petersen / NetKontoret// Explained at www.echoecho.com/jsforms.htm// Please do not remove this line and the two lines above.with (entered){

Page 57: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

checkvalue=parseFloat(value);if (datatype){smalldatatype=datatype.toLowerCase();if (smalldatatype.charAt(0)=="i") {checkvalue=parseInt(value)};}

Page 58: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

if ((parseFloat(min)==min && checkvalue<min) || (parseFloat(max)==max && checkvalue>max) || value!=checkvalue){if (alertbox!="") {alert(alertbox);} return false;}else {return true;}}}

Page 59: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

funzione digitvalidation(entered, min, max, alertbox, datatype){// Digit Validation by Henrik Petersen / NetKontoret// Explained at www.echoecho.com/jsforms.htm// Please do not remove this line and the two lines above.with (entered){

Page 60: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

checkvalue=parseFloat(value);if (datatype){smalldatatype=datatype.toLowerCase();if (smalldatatype.charAt(0)=="i") {checkvalue=parseInt(value); if (value.indexOf(".")!=-1) {checkvalue=checkvalue+1}};}

Page 61: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

if ((parseFloat(min)==min && value.length<min) || (parseFloat(max)==max && value.length>max) || value!=checkvalue){if (alertbox!="") {alert(alertbox);} return false;}else {return true;}}}

Page 62: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

funzione emptyvalidation(entered, alertbox){// Emptyfield Validation by Henrik Petersen / NetKontoret// Explained at www.echoecho.com/jsforms.htm// Please do not remove this line and the two lines above.with (entered){

Page 63: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

if (value==null || value==""){if (alertbox!="") {alert(alertbox);} return false;}else {return true;}}}

Page 64: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

funzione formvalidation(thisform){// This function checks the entire form before it is submitted// Note: This function needs to be customized to fit your formwith (thisform){if (emailvalidation(Email,"Illegal E-mail")==false) {Email.focus(); return false;};

Page 65: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.

if (valuevalidation(Value,0,5,"Value MUST be in the range 0-5")==false) {Value.focus(); return false;};if (digitvalidation(Digits,3,4,"You MUST enter 3 or 4 integer digits","I")==false) {Digits.focus(); return false;};if (emptyvalidation(Whatever,"The textfield is empty")==false) {Whatever.focus(); return false;};}}</script>

Page 66: CONVALIDA DEL FORM. Javascript è un potente strumento per convalidare i form prima che il contenuto venga inviato.