Sono del parere che il modo migliore per risolvere il tuo problema sia sempre una serie di controlli javascript, che restituiscono un alert in caso di errore e riportano il focus sul campo incorrettamente compilato PRIMA di inoltrare i dati al server, il che non significa che non puoi inserire ANCHE i controlli lato server (utili anche per ragioni di security).
Quindi: controlli javascript per rendere il form user-friend ed evitare al server di processare inutilmente dati incorretti, e controlli server-side per la sicurezza e per garantire l'inserimento di dati che il GB può processare senza problemi.
Se, per qualche motivo, vuoi che i controlli siano esclusivamente lato server, penso che il tuo form dovrebbe essere preceduto da una serie di istruzioni (faccio SOLO l'esempio del campo nome, ti basterà applicarlo anche agli altri campi) come per esempio:
codice:
nome = ""
nome = request.querystring("nome")
if not nome = "" then
response.write("Campo compilato scorrettamente")
end if
La prima istruzione serve per svuotare la variabile se precedentemente valorizzata. L' altra per recuperarne il valore eventualmente già inserito.
In questo modo, se il campo sarà già stato compilato, i dati già inseriti appariranno nel modulo.
Infatti, tu avrai costruito il campo nome del form in questo modo:
codice:
<input type="text" name="nome" value="<%=nome%>"/>
e il controllo lato server potrà essere per esempio:
codice:
nome = request.form("nome")
if (funzione controllo validità nome) then
...processa i valori corretti...
else
response.redirect("pagina_del_form.asp?nome="&nome)
end if
Un esempio di questo modo di operare lo puoi vedere inserendo un indirizzo email valido e poi uno non valido qui
Lo script è relativo a un'altra funzione ma direi che bene si addice al tuo caso........se vuoi adottare una di queste soluzioni poi fai sapere se va bene.........