Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Validare un form con ASP in modo usabile

Articolo scritto da Luca Ruggiero
Pagina 1 di 2

Le modalità di validazione dei dati inseriti in un form sono veramente tante e quale sia la migliore è davvero opinabile, tuttavia ci sono alcuni aspetti che vanno presi in considerazione.

In primo luogo è buona norma non limitarsi ad un controllo lato client ma "approfondire" la verifica lato server onde evitare aggiramenti dei controlli da parte di utenti scorretti con una certa dimestichezza con l'HTML.

(L'articolo continua più sotto...)

In secondo luogo è importante che un form sia usabile e di immediata comprensione per gli utenti in caso di errori di compilazione.

Più di una volta, purtroppo, mi è capitato di imbattermi in moduli dai risultati "arcani" del tipo: "Hai commesso un errore ed il form non è stato spedito!"... peccato che il form in questione (non faccio il nome del sito per pura bontà d'animo) ha circa una ventina di campi e non mi è stata fornita alcuna indicazione circa l'errore compiuto (rivedendo tutti i dati mi sono accorto di aver commesso un errore di battitura nel campo "codice fiscale").

In quest'articolo, pertanto, vedremo un esempio di form il cui fine vuol'essere più pratico che non didattico; in sostanza vorrei dimostrare quanto sia semplice creare un sistema di validazione lato server chiaro e comprensibile per l'utente!

Nello specifico il nostro controllo effettuerà i seguenti step all'atto del submit di informazioni scorrette od incomplete:

  1. lancerà un messaggio di errore al fianco dei campi non compilati o compilati male;
  2. i campi compilati correttamente verranno mantenuti (il relaivo campo resta compilato con le informazioni inserite e non sarà necessario scriverle di nuovo);
  3. in caso di successo nella compilazione i dati verranno processati e si riceverà un chiaro messaggio di conferma.
Ecco un esempio del form appena descritto in azione:
In questo caso sono stati compilati solo i campi relativi al nome ed al cognome, quindi l'indirizzo ed il telefono presentano un messaggio di errore in fase di compilazione.

Tengo a precisare che l'esempio proposto non vuole essere un modello circa la validazione dei dati, ma un esempio di come i processi di controllo possano essere gestiti in modo intelligente aiutando l'utente a comprendere gli errori compiuti e, quindi a correggerli.

Vediamo quindi il file form.asp, corrediamolo colo seguente codice ed eseguiamolo sul nostro server Web personale:

<%@LANGUAGE = VBScript%>
<%
    Dim invio, nome, cognome, indirizzo, telefono
    invio = Request.Form("invio")
    nome = Request.Form("nome")
    cognome = Request.Form("cognome")
    indirizzo = Request.Form("indirizzo")
    telefono = Request.Form("telefono")
    Dim messaggio, errore
    errore = 0
    messaggio = "<span style=""color: #FF0000;"">Campo obbligatorio!</span>"
%>
<html>
    <head>
        <title>Controllo integrato in un form con ASP ed i cookies</title>
        <style type="text/css">
        p, input
        {
            font: normal 12px verdana;
        }
        input
        {
            width: 250px;
        }
        </style>
    </head>
<body>

<form method="post" action="form.asp">
    <p>
        Nome
        <%
            If invio <> "" And nome = "" Then
                Response.Write messaggio
                errore = errore + 1
            End If
        %>
        <br><input type="text" name="nome" value="<%=nome%>">
    </p>
    <p>
        Cognome
        <%
            If invio <> "" And cognome = "" Then
                Response.Write messaggio
                errore = errore + 1
            End If
        %>
        <br><input type="text" name="cognome" value="<%=cognome%>">
    </p>
    <p>
        Indirizzo
        <%
            If invio <> "" And indirizzo = "" Then
                Response.Write messaggio
                errore = errore + 1
            End If
        %>
        <br><input type="text" name="indirizzo" value="<%=indirizzo%>">
    </p>
    <p>
        Telefono
        <%
            If invio <> "" And telefono = "" Then
                Response.Write messaggio
                errore = errore + 1
            End If
        %>
        <br><input type="text" name="telefono" value="<%=telefono%>">
    </p>
    <p><input type="submit" name="invio" value="Invio"></p>
</form>

<%
    If invio <> "" And errore = 0 Then
        With Response
            .Write "<p>E' solo un esempio!</p>"
            .Write "<p>"
            .Write "Nome: " & nome & "<br>"
            .Write "Cognome: " & cognome & "<br>"
            .Write "Indirizzo: " & indirizzo & "<br>"
            .Write "Telefono: " & telefono
            .Write "</p>"
        End With
    End If
%>

</body>
</html>
Esaminiamo ora il funzionamento dell'applicazione in oggetto.

Corsi
Corso ASPCorso ASP
Corso completo per la creazione di siti Web dinamici. A partire da 39 €.
Corso ASP da ZeroCorso ASP da Zero
Imparare Microsoft ASP e VBScript da zero. A partire da 29 €.
Corso ASP e AccessCorso ASP e Access
Gestione di un database MS Access con ASP. A partire da 29 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122