webForumDet fria alternativet

Obligatoriska fält

ASP

8 svar · 286 visningar · startad av CrYpToNiC

Medlem sedan sep. 200056 inlägg
Frågan#1

Hej!

Jag har lite problem med att få obligatoriska fält. Det ska vara 4st obligatoriska fält som heter nick, fornamn, efternamn och email

Så här vill jag att det ska funka:
Om en eller alla av dessa fält inte är ifyllda så ska det stå på nästa sida efter att man tryckt klar att man glömt att fylla i en eller alla dessa fält.

Om jag väljer obligatoriska fält i access databasen så blir det ju bara ett error om man inte fyller i fälten och det är ju inte så bra. Någon som vet?

Tacksam för snabbt svar!

------------------
/CrYpToNiC

Medlem sedan dec. 1999707 inlägg
#2

Sidan som tar emot postningen av formuläret kan ha något i den här stilen:


Const csMandatoryFields = "nick;fornamn;efternamn;email"
Dim vaMandatory
Dim sErrorMsg
Dim i

vaMandatory = Split(csMandatoryFields, ";")
For i = 0 to UBound(vaMandatoryFields)
    If Len(Request.Form(vaMandatory(i))) = 0 then
        sErrorMsg = "You must fill in alla mandatory fields"
        Exit For
    End if
Next

...

Om något tvingande fält inte är ifyllt så innehåller strängen "sErrorMsg" ett felmeddelande. ;)

------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige

[Redigerat av toha den 18 mar 2001]

[Redigerat av toha den 18 mar 2001]

Medlem sedan mars 20002 836 inlägg
#3

Har diskuterats alldeles nyligen.
Kolla in denna länk: http://cgi.webforum.nu/wf/Forum11/HTML/003302.html

cya,
PatrikB

Medlem sedan sep. 200056 inlägg
#4

Ja, men jag hade tänkt mig typ så här:

If len(request.form("nick")) >= 1 then
elseIf len(request.form("fornamn")) >= 1 then
elseIf len(request.form("efternamn")) >= 1 then
elseIf len(request.form("email")) >= 1 then

<addera scriptet>

else

<anmälningsformuläret>

end if

Men detta vill inte funka. Det räcker med att man fyller i ett av dessa 4 fält så kommer man vidare.

Jag vill att man måste fylla i alla 4 fält för att komma vidare... Går detta att fixa?

------------------
/CrYpToNiC

Medlem sedan dec. 200012 464 inlägg
#5

Så här kanske

If len(request.form("nick")) >= 1 and len(request.form("fornamn")) >= 1 and 
len(request.form("efternamn")) >= 1 and len(request.form("email")) >= 1 then
<addera scriptet>

else

<anmälningsformuläret>

end if

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 200056 inlägg
#6

Det funkar inte

får ett HTTP 500 - Internt serverfel

------------------
/CrYpToNiC

Medlem sedan dec. 200012 464 inlägg
#7

Om man tar bort inställningen (finns under tools/internet options/advanced)

show friendly HTTP error messages

så kan man se bättre vad som är fel.

Skriver du hela if-satsen på en rad?

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 200056 inlägg
#8

Går det verkligen använda "and" i if-satser?

------------------
/CrYpToNiC

Medlem sedan sep. 200056 inlägg
#9

Jaha, där ser man.

Skrev man allt på en rad så fungerade det. Tackar för hjälpen!

------------------
/CrYpToNiC

384 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
118 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)