On Sun, 20 May 2007 22:00:20 +0200, "Kristian Frost"
<mail@frostgraphics.dk> wrote:
>Jeg sidder lige nu og arbejder på min formular til min gæstebog
>(
www.frostgraphics.dk/guestbook/).
>
>Jeg vil gerne have det sådan at man skal udfylde felterne "name" og
>"comment" ellers skal den skrive en fejlmeddelse. Det gør den også allerede,
>men det er lavet med JavaScript og hvis brugeren har det deaktiveret kan han
>stadig lade felterne stå tomme.
Det er rigtigt. JavaScript validering er fint til at fange mange ting,
inden brugeren sender den til serveren, men der skal altid være en
serverside-validering som er den "rigtige".
>Jeg vil gerne have det hele kodet i
>serverside, og jeg er godt i gang med ASP.
Lad form'ens action være samme side og check så på:
strErr = ""
strNavn = Trim ("" & Request.Form("navn"))
If strNavn = "" Then
strErr = strErr & "Navn skal udfyldes<br>" & vbcrlf
End If
Gør så det samme ved de andre felter, du vil validere på.
Når alle felter er checket, så:
If strErr = "" Then
' Gør hvad der skal gøres ved OK-formular
Else
Response.Write strErr
' + resten af formularen, så brugeren kan prøve igen
End If
>Så vil jeg også gerne have lavet sådan at man ikke kan skrive html-tags i
>"comment"-feltet (Det kan jo godt blive misbrugt).
>
>Hvordan kan jeg gøre dette, serverside?
Hvis du gør det til en del af ovenstående validering, kan du fx checke
på:
strComment = Trim ("" & Request.Form("comment"))
If InStr(strComment, "<") Then
strErr = strErr & "Tegnet < er ikke tilladt.<br>" & vbcrlf
End If
En anden mulighed er at bruge noget RegExp til at checke, om der er
brugt andre tegn end de tilladte. Men RegExp er ikke min stærke side, så
det må andre svare på ...
Good luck!
--
Jørn Andersen,
Brønshøj