Validazione ed invio di un form in Asp

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Scritto da Luca Ruggiero nella sezione Asp

Durante la compilazione di un form può capitare che l'utente distratto ometta di compilare un campo obbligatorio, oppure che l'utente smanettone voglia divertirsi a confondere le idee all'amministratore del database, nel caso in cui questa sia la fine dei dati del form in questione.

Attualmente è disponibile solo su MrWebmaster.it un mio articolo che spiega come eseguire una validazione con Javascript lato client, ottimo e veloce sistema di validazione, ma non sempre pronto ad osservare regole di sicurezza dei dati, passando direttamente dal browser, come invece è ingrado di fare un server Web.

La lettura del suddetto articolo non è indispensabile alla comprensione di questo tip, è sufficiente un'infarinatura di programmazione lato server, un minimo di familiarità con i moduli Html e con la sintassi Javascript (nel caso di Asp parliamo di Microsoft JScript).

Al contrario del Javascript lato client, il modo con cui Asp è ingrado di recuperare e controllare i valori attribuiti ai singoli (e diversi tra loro) componenti di un modulo, è di gran lunga più semplice.

Sulla scorta di quest'ultima informazione, ipotiziamo un modulo con soli due campi di testo:

<form method="post" action="elabora.asp">
 Campo # 1<br><input type="text" name="campo1"><br>
 Campo # 2<br><input type="text" name="campo2"><br>
 <input type="submit" value="Invia">
</form>
Da questo codice si evince che il file che elaborerà le informazioni inserite nei campi del form sarà elabora.asp.

Passiamo al codice del suddetto file:
<%@LANGUAGE = JScript%>
<%
   var campo1 = new String(Request.Form("campo1"));
   var campo2 = new String(Request.Form("campo2"));
   
   if ((campo1 == "") || (campo1 == "undefined"))
   {
      Response.Redirect("errore.asp?id=1");
   }
   else if ((campo2 == "") || (campo2 == "undefined"))
   {
      Response.Redirect("errore.asp?id=2");
   }
   else
   {
      // Esegue le operazioni di cui al suo scopo...
   }
%>
Notiamo che le condizioni di errore effettuano il reindirizzamento al file errore.asp che, a seconda di un parametro passato in QueryString, restituirà un messaggio diverso.

Vediamo dunque il codice del file errore.asp:
<%@LANGUAGE = JScript%>
<%
   var id = new String(Request.QueryString("id"));

   if (id == "1")
   {
      Response.Write("ERRORE: Compilare il campo # 1");
   }
   else if (id == "2")
   {
      Response.Write("ERRORE: Compilare il campo # 2");
   }
%>

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (51.682)

:: Creazione di un Guestbook in Asp (50.783)

:: Creazione di un'area di accesso riservato in Asp (45.423)

:: Connessione ad un database MySql con Asp (25.045)

:: Connessione ad un database Microsoft SQL Server con Asp (24.069)

:: Asp e database (23.124)

:: Differenza tra i metodi get e post e recupero dei dati, attraverso Asp (22.301)

:: Una semplice area di accesso riservato senza DB in Asp (21.384)

:: Riscrivere le URL con Asp (19.743)

:: Creazione di un Sondaggio in Asp (19.101)

IN EVIDENZA
DOWNLOAD