In… Form… iamoci (validazione delle form) Roberto Bruni e Daniela Giorgetti.

Slides:



Advertisements
Presentazioni simili
UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Advertisements

APRIRE PROGRAMMA DI POSTA OUTLOOK EXPRESS
MODULO 3 – ELABORAZIONE TESTI
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
A. Ferrari Alberto Ferrari. Un form html è una sezione di documento che contiene Testo normale e markup Elementi speciali chiamati controlli (checkbox,
JavaScript 7. Eventi di JavaScript.
PHP.
Configurare Outlook Express
Questa guida spiega come: - Registrarsi al blog HiStory (pagine 2-3) - Cambiare la grandezza della schermata, zumando avanti e indietro (pagine 4-5) -
Comunicare con la posta elettronica (7.4)
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Esercitazione 2 Array, funzioni, form
Modulo o Form in Html.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Nomi ed espressioni.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Funzioni con condizioni in Javascript.
Laboratorio di Applicazioni Informatiche II mod. A
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
In… Form… iamoci (validazione delle form). Bruni e Giorgetti2 Operazioni comuni Ormai siete esperti nella gestione degli eventi Rivediamo velocemente.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Lezione 2 Programmare in ASP
Corso di PHP.
Tag Sintassi Testo, tag di formattazione, Nota: - tag di chiusura - attributi.
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
Javascript: fondamenti, concetti, modello a oggetti
Esercitazione sulla creazione di una raccolta locale Tutorial.
66. Rubrica La Rubrica vi consente di raccogliere gli indirizzi di posta elettronica. Potete accedere dalla rubrica dallinterno del programma di posta.
HTML Creazione di moduli Prof.ssa Daniela Decembrino.
Introduzione alle ASP: primi passi negli script. Frosini Andrea Università degli studi di Siena Dipartimento di Scienze Matematiche.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
In questo tutorial viene spiegato come creare un nuovo account di posta elettronica in Microsoft Outlook Dalla barra in alto selezionare la voce STRUMENTI.
In questo tutorial viene spiegato come creare un nuovo account di posta elettronica in Microsoft Outlook con un SMTP autenticato Dalla barra in alto selezionare.
Convalida dati Menù dei comandi Dati Convalida. Convalida Dati E’ utile quando si vuole utilizzare un dato prelevato da un insieme Si opera in questo.
Microsoft Access Chiavi, struttura delle tabelle.
HTML I Form in HTML5.
Web Form Presentazione 2.3 Comunicazione integrata in rete| Prof. Luca A. Ludovico.
Premessa Con i FORMS (moduli) l'utente può interagire con il sito spedendo un proprio commento, avanzando richieste senza necessità di scrivere via ,
Funzioni. La sintassi generale di una funzione è:
Form o moduli HTML Esistono degli oggetti standard che permettono una certa interattività con l'utente. Un utilizzo completo e significativo di tali elementi.
Microsoft Access Query (II), filtri.
JavaScript Generalità Cos'è JavaScript?
Word: Gli strumenti di formattazione
1 Liste e Combo Liste e combo (lista chiusa) hanno una struttura simile: utilizzano gli stessi due tag: e Il primo tag contiene il secondo. deve essere.
Word: gli strumenti di formattazione
Microsoft Access Maschere (II).
Introduzione a Javascript
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Microsoft Word Lezione 6 Riccardo Sama' Copyright  Riccardo Sama'
INTRODUZIONE. Javascript è un linguaggio di scrittura che permette di aggiungere veri e propri programmi alle tue pagine web.
Microsoft Access Chiavi, struttura delle tabelle.
JavaScript Linguaggio definito da Netscape JScript: la versione MicroSoft (basata su ECMAScript) Serve ad arricchire una pagina HTML con codice da eseguirsi.
Document… iamoci Roberto Bruni e Daniela Giorgetti.
JavaScript Linguaggio definito da Netscape JScript: la versione MicroSoft (basata su ECMAScript) Serve ad arricchire una pagina HTML con codice da eseguirsi.
Lezione 6: Form.  In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es.
Microsoft Access (parte 3) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Microsoft Access Informatica 04/05 Introduzione alle basi di dati.
EVENTI Gli eventi sono delle azioni che possono essere identificate da javascript. 1 - onMouseOver, che viene messo in atto quando l'utente fa scorrere.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Impariamo ad usare Excel. Utilizzare l’interfaccia Avviare Excel e iniziare ad esplorare l'interfaccia per acquisire familiarità con esso… Non c'è modo.
Transcript della presentazione:

In… Form… iamoci (validazione delle form) Roberto Bruni e Daniela Giorgetti

Bruni e Giorgetti2 Operazioni comuni Ormai siete esperti nella gestione degli eventi Rivediamo velocemente alcune operazioni di routine Da ora in poi immaginiamo di avere una form con name = “myform” dei campi con nomi mytext, mytextarea, mycheckbox, myradio, etc.

Bruni e Giorgetti3 Prendere il valore da un campo di input di tipo text, password o textarea valore = document.myform.mytext.value; valore = document.myform.mypassword.value; valore = document.myform.mytextarea.value; //usare parseInt per valori numerici

Bruni e Giorgetti4 Controllare se una checkbox è selezionata o meno if (document.myform.mycheckbox.checked){ valore = document.myform.mycheckbox.value } else { valore = “”; }

Bruni e Giorgetti5 Determinare il valore selezionato di un radio valore = “”; for (i=0;i<document.myform.myradio.length;i++) { if (document.myform.myradio[i].checked) { valore = document.myform.myradio[i].value; break; }

Bruni e Giorgetti6 Determinare il valore o il testo di una opzione in un campo select singolo with (document.myform.myselect) { valore = options[selectedIndex].value; testo = options[selectedIndex].text; }

Bruni e Giorgetti7 Determinare il valore e il testo delle opzioni in un select multiplo valore = testo = “”; with (document.myform){ for (i=0;i<myselect.length;i++) { if (myselect.options[i].selected) { valore += “-”+myselect.options[i].value; testo += “-”+ myselect.options[i].text; } valori = valore.split(“-”); testi = testo.split(“-”);

Validazione

Bruni e Giorgetti9 Le form di un tempo Prima di JS il vero scopo delle form HTML era di inviare dati al server visto che il client non era abbastanza “intelligente” da elaborarli da solo Stava al server inviare le risposte del caso in base ai dati ricevuti

Bruni e Giorgetti10 La validazione Adesso è possibile spostare (tutta o in parte) la logica sul client. Come? –usando JS! In particolare la validazione dei dati dovrebbe essere totalmente a carico del client. Perché? –Perché è in grado di farlo.

Bruni e Giorgetti11 Come, dove e quando come: gestione eventi di JS dove: nel documento che contiene la form quando: –costantemente, ad ogni modifica dei campi –prima dell’invio del modulo –tecniche miste

Bruni e Giorgetti12 Verifica costante usare l’attributo onchange oppure onblur –associare una funzione che controlli se i dati sono consistenti visualizzare un messaggio di alert in caso contrario usare i metodi focus() e select() invocati sull’elemento in esame per costringere l’utente a inserire dati corretti –controlli tipici: valori compresi in un certo intervallo, stringhe non vuote, indirizzi di sensati usare l’attributo onfocus per la protezione dei dati (es. totali di un ordine) –appena il campo riceve il focus lo togliamo passandolo ad un altro elemento della form

Bruni e Giorgetti13 Valori in opportuni intervalli I usare un campo di input per leggere valori tra 10 e 100 inclusi <input type=“text” name=“mytext” size=“3” maxlength=“3” value=“10” onblur=“controlla();” /> …

Bruni e Giorgetti14 Valori in opportuni intervalli II <!-- function controlla() { var valore = parseInt(document.myform.mytext.value); if (isNaN(valore) || valore 100) { document.myform.mytext.focus(); document.myform.mytext.select(); alert(“Devi darmi un intero da 10 a 100”); } //-->

Bruni e Giorgetti15 Stringhe non vuote I usare un campo di input per leggere nome e cognome <input type=“text” name=“mytext” value=“” onblur=“controlla();” /> …

Bruni e Giorgetti16 Stringhe non vuote II <!-- function controlla() { var testo=document.myform.mytext.value; var ok = false; for(i=0; i<testo.length; i++) { var lettera = testo.charAt(i); if (lettera != “ ” && lettera != “\t”) { ok=true; break; } } if (!ok) { document.myform.mytext.focus(); document.myform.mytext.select(); alert(“Non puoi lasciare il campo vuoto”); } //-->

Bruni e Giorgetti17 sensate I usare un campo di input per leggere un indirizzo <input type=“text” name=“mytext” value=“” onblur=“controlla();” /> …

Bruni e Giorgetti18 sensate II <!-- function controlla() { var testo=document.myform.mytext.value; var ok = true; if(testo.length<5) { ok=false; } // almeno 5 caratteri var if (primoAt == -1) { ok=false; } // almeno > primoAt) { ok=false; } // una if (primoAt == 0 || primoAt == testo.length-1) { ok=false; } // primo e ultimo carattere diversi if(testo.indexOf(“ ”) != -1) { ok=false; } // niente spazi …

Bruni e Giorgetti19 sensate III … if(testo.indexOf(“\t”) != -1) { ok=false; } // niente tabulazioni if(testo.lastIndexOf(“.”) == testo.length-1) { ok=false; } // ultimo carattere diverso da “.” if (!ok) { document.myform.mytext.focus(); document.myform.mytext.select(); alert(“ insana!”); } //-->

Bruni e Giorgetti20 Verifica all’invio la verifica costante potrebbe essere fastidiosa per l’utente –(i campi della form dovrebbero poter essere riempiti gradualmente e in ordine sparso) possiamo rimandare i controlli al momento dell’invio usare l’attributo onsubmit del pulsante di submit o del tag stesso associare una funzione che controlli se tutti i dati della form sono consistenti –visualizzare un messaggio di alert in caso contrario e restituire il valore false (altrimenti la form potrebbe essere inviata ugualmente) –se tutto va bene restituire true per essere sicuri di inviare la form

Bruni e Giorgetti21 Verifiche combinate controllare i dati principali ad ogni modifica eseguire un controllo aggiuntivo di consistenza prima dell’invio della form –il controllo aggiuntivo è molto sensato il CGI dovrà comunque ricontrollare la consistenza dei dati perché –qualcuno potrebbe copiare il codice HTML della form, modificarla ed usarla per inviare dati –l’utente potrebbe disattivare JS

Bruni e Giorgetti22 Operazioni comuni Ormai siete esperti nella gestione degli eventi e nella validazione… Rivediamo velocemente alcune operazioni di routine Da ora in poi immaginiamo di avere una form con name myform dei campi con nomi mytext, mytextarea, mycheckbox, myradio, etc.

Bruni e Giorgetti23 Controllare se una checkbox è selezionata o meno if (document.myform.mycheckbox.checked) { alert(document.myform.mycheckbox.value) }

Bruni e Giorgetti24 Determinare il valore selezionato di un radio for (i=0;i<document.myform.myradio.length;i++) { if (document.myform.myradio[i].checked) { alert(document.myform.myradio[i].value); break; }

Bruni e Giorgetti25 Determinare il valore o il testo di una opzione in un campo select singolo with (document.myform.myselect) { alert(options[selectedIndex].value); alert(options[selectedIndex].text); }

Bruni e Giorgetti26 Determinare il valore o il testo di una opzione in un campo select multiplo with (document.myform) { for (i=0;i<myselect.length;i++) { if (myselect.options[i].selected) { alert(myselect.options[i].value); alert(myselect.options[i].text); }

Bruni e Giorgetti27 Il pulsante di help Nelle form bisognerebbe sempre inserire un pulsante “Help” se premuto dovrebbe aprire una nuova finestra senza toolbar, menubar, etc.. nella finestra dovrebbero apparire le istruzioni per riempire il modulo se il modulo è molto lungo e complicato potremmo anche inserire un pulsante di help per ogni campo, oppure per ogni “gruppo” di campi Ricordarsi di inserire anche un pulsante per chiudere la finestra di Help

Bruni e Giorgetti28 Esercizi