[ASP] Form validatie probleem

Pagina: 1
Acties:

  • Dutch_guy
  • Registratie: September 2001
  • Laatst online: 24-07 13:40
Ik heb een Tell-a-Friend pagina gemaakt die d.m.v. een Request.Querystring de URL, tezamen met een variabel referentienummer in een veld plaatst.

Echter 2 velden zijn verplicht. Na het submitten controleer ik die 2 velden als volgt of ze niet leeg zijn:

code:
1
2
3
4
5
6
7
8
<% If request("YourEmailAddress") = "" then
Response.Redirect("friend.asp?Required=false")
End If

If request("FriendsEmailAddress") = "" then
Response.Redirect("friend.asp?Required=false")
End If
%>


De gebruiker wordt dan teruggestuurd en aan de hand van de waarde "false" wordt een melding weergegeven dat het formulier niet goed is ingevuld.

Echter, nu het probleem: het referentienummer dat eerder in het veld stond is nu verdwenen, omdat deze niet meer uit de Request.Querystring te halen valt.

Heeft iemand hier een oplossing voor?, behalve eventueel gebruik maken van client-side form validatie.

[ Voor 6% gewijzigd door Dutch_guy op 29-07-2003 21:16 ]

Pay peanuts get monkeys !


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Waarom redirecten naar een andere pagina? Waarom zet je niet een flag op true; als iets incorrect gevalideerd is zet je hem op false. Je voert pas de query / actie uit als op het einde de flag nog op true staat.

De waarde kan je verder dan simpel opvragen door middel van een Request.Form("id")

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 10:45

mulder

ik spuug op het trottoir

Ik sla trouwens altijd even de met de querystring doorgegeven id op in het form in een hidden field.

oogjes open, snaveltjes dicht


  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Of gewoon:
code:
1
Response.Redirect("friend.asp?Required=false&id=" & Request("id"))

[ Voor 18% gewijzigd door UniCache2 op 29-07-2003 22:10 . Reden: Of begrijp ik de vraag niet goed ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

UniCache2 schreef op 29 juli 2003 @ 22:07:
Of gewoon:
code:
1
Response.Redirect("friend.asp?Required=false&id=" & Request("id"))
* gorgi_19 is op een of andere manier niet zo een fan van Request (gebruik Request.Form of Request.Querystring). Daarnaast is dit zo nogal vrij foutgevoelig...

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Dutch_guy
  • Registratie: September 2001
  • Laatst online: 24-07 13:40
Nou het wil maar niet lukken.

Dit is een gedeelte dat in het veld komt te staan:

code:
1
detail.asp?reference_no=<% =Request.Querystring("reference_no") %>

Dat werkt, de waarde staat in het veld

Het hele formulier staat in een Sub: IntroPage

Vervolgens gebeurt er nu bij het submitten het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
12
If request("btnSubmit") = "Send" Then
If request("YourEmailAddress") = "" then
    Required = "false"
    Call IntroPage()
ElseIf request("FriendsEmailAddress") = "" then
    Required = "false"
    Call IntroPage()
Else
    call DoRecords()
End If
End If
%>


Als 1 van de 2 velden niet is ingevuld dan Wordt Intropage weer weergegeven, met de foutmelding.

Op dat moment ben ik echter weer mijn "reference_no" kwijt.

Kan ik de Request.Querystring("reference_no") op de een of andere manier doorgeven, nadat blijkt dat een veld niet is ingevuld ?

Pay peanuts get monkeys !


  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Met 'het veld' bedoel je neem ik aan een hidden field?
Dan vraag je bij het aanroepen van IntroPage() dus voordat je redirect met Request.Form("jeHiddenFieldNaam") het referentienummer op, en deze geef je bij het redirecten door, dus ongeveer zo:
code:
1
2
3
4
Sub IntroPage()
  Dim iReference_no = Request.Form("jeHiddenFieldName")
  Response.Redirect("friend.asp?Required=false&reference_no=" & iReference_no)
End Sub
Pagina: 1