webForumDet fria alternativet

Form validering - bästa lösning

ASP

10 svar · 391 visningar · startad av Hallgren

Medlem sedan dec. 19991 606 inlägg
Frågan#1

Yo!

Vilket är det bästa sättet att validera ett formulär enligt er?

Säga att man ha tex 10 fält och 8 av dem måste fyllas i. Nu vill man att skiptet kollar formuläret och sedan skiver ut typ ett * vid varje fält som inte har fyllts i.

Går detta göra utan en massa if-satser?

[r]
Mmm, petiga människor...

------------------
Är det en fysisk liknelser eller är du bara ett stort bakverk?

webcam?

[Redigerat av Hallgren den 21 jan 2002]

Medlem sedan feb. 20001 590 inlägg
#2

med if-sattser?

nej, men med if-satser... :)

Man behöver iof. bara kolla de fält som är nödvändiga. Kan gå med CASE, men if satserna är nog smidigast med tanke på att man behöver göra en markering vid fältet.

/T

------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no

Medlem sedan feb. 20012 412 inlägg
#3

bästa lösningen är 3 steg:

  1. javascript
  2. if-sats
  3. not null i databasen ;)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan feb. 20012 412 inlägg
#4

Kan gå med CASE,

Eftersom du ska jämföra flera variabler är if mer rätt än select case

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan jan. 20022 440 inlägg
#5

Och hur gör man en if sats som validerar ett formulär ?

If Request.Form("Fält") = Empty Then
Response.Write "Du är dum i huvudet katten"
End If

Visst jag är med så långt men var tusan ska jag placera den snutten ?

Medlem sedan aug. 20003 575 inlägg
#6

gör en for each if sats.. så slipper du skriva många if satser ;)

Medlem sedan jan. 20022 440 inlägg
#7

Ok .. men det svarar fortfarande inte på min fråga ;) Jag vet ju inte var jag ska placera den elelr så ju :(

Medlem sedan aug. 20003 575 inlägg
#8

eller en for i loop ;) vet inte riktigt hur du döpt det men det kan väl se ut ngt såhär:

Dim i, intfields

For i = 1 to 10

If Len(Request.Form("fieldname"&1)) <> 0 Then intfields = intfields+1 End If

Next

If intFields >= 7 then
Response.Write "Minst 8 av fälten måste vara fyllda"
Else
Response.Write "Bra du lyckades fylla 8 fält"
End If

har inte testat koden men det kan se ut något sådär

Men du måste döpa alla fälten med samma namn fast med en siffra i slutet.

Medlem sedan jan. 20022 440 inlägg
#9

aha! men nu är det ju egentligen bara några få fält jag behöver ha ifyllda, de flesta fälten finns i registret eftersom några i registret ska ha nr1 av 10 medans nästa ska ha nr2 av 10 om du förstår vad jag menar ?

Medlem sedan feb. 20012 412 inlägg
#10

Jag skull vilja rekommendera PatrikB:s sätt att validera formulär på:
http://www.webforum.nu/showthread.php?s=&postid=51324#post51324

Medlem sedan mars 20015 287 inlägg
#11

Kika på Pace förslg i denna tråd: http://www.webforum.nu/showthread.php?s=&threadid=48458

266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)