...what I do is use a \"self-feeding\" form. You basically, call the same form. When your conditions are met, you then save the data in a database or whatever you need to do.
This way you do not go to another page and you do not have to go back when the data fails validation. It looks much slicker too.
You process the data in place. The basic idea is...
Example:
file: register.asp
<%@ Language=VbScript %>
<% username=request.form(\"username\")
if username <> \"\" then
Open Database Connection
Insert Data, etc
Close Connection
Response.Redirect to another page
else
Response.Write \"<FONT COLOR=RED SIZE=3> Username is required, yada, yada, yada...\"
end if
%>
<FORM ACTION=\"register.asp\" METHOD=\"POST\" >
<INPUT TYPE=TEXT NAME=USER VALUE=<%=username%>>
</FORM>