INTERNET EXPLORER? Ti consiglio di navigare questo sito con Mozilla Firefox oppure con Google Chrome.

Validazione ed invio di un form in Asp

Autore: Luca Ruggiero | Tell a Friend

eBook ASP base
Impara a creare siti dinamici con ASP e VBScript da zero!

Corso ASP
Impara a creare siti dinamici professionali con ASP!

E-Commerce con ASP
Impara a creare un sito di E-Commerce con carrello della spesa!

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");
   }
%>

IN EVIDENZA
HOT LINKS