24. april 2005 - 15:32Der er
30 kommentarer og 2 løsninger
Problemer med validering i input boks
Hej forum
Jeg har problemer med at validere nogle input i en form. Jeg har et input felt hvori der skal indastes et post nummer. Selve problemer betår i, at jeg vil sikre mig, at der er tal der indtastes i feltet, hvilket jeg ikke har kunne finde en løsning på.
Jeg har prøvet mang forskellige ting, men nedenståede vil for mig være en logiske opygning:
if request.form("postnr") <> integer then response.write("du skal indtaste dit postnummer i tal") else udfører funktion end if
Er der nogen der har et forslag til hvordan jeg kan løse dette?
evt med længde på også If IsNumeric(Request.Form("postnr")) And Len(Request.Form("postnr"))=4 Then 'Udfører funktion Else Response.Write("Du skal indtaste et korrekt postnummer!") End If
<% Dim strPostNr strPostNr = Request.Form("postnr") If IsNumeric(strPostNr) Then 'Udfører funktion Else Response.Write("Du skal indtaste et korrekt postnummer!") End If %>
strPostNr = Request.Form("postnr") If Len(strPostNr)=4 And IsNumeric(strPostNr) And Instr(strPostNr,".")=0 Then 'Udfører funktion Else Response.Write("Du skal indtaste et korrekt postnummer!") End If ----- Så tjekkes der om længden er 4, om det er et tal, og at det ikke er et kommatal :o) Jeg er ikke sikker på om "," også skal med.. Mere sikker kan jeg vist ikke foreslå den
<% Dim strPostNr strPostNr = Request.Form("postnr")
If Len(strPostNr) < 4 And IsNumeric(strPostNr) And Instr(strPostNr,".") = 0 Then 'Udfører funktion Else Response.Write("Du skal indtaste et korrekt postnummer!") End If %>
kommer an på mange ting...kommer også an på om det overhovedet er et dansk postnummer hehe ;o) Hvis ashansen kun vil vide om det er et tal...så er løsningen i al fald lige for hånden :o)
Busschou > Det kommer igen an på hvad valideringen skal bruges til og hvor 'fluekn*ppet' det skal være :-)
Til almindelig brug ville jeg også vælge at teste om det er nummerisk, længden og kommaet...
Måske kan den den forbedres en smule således:
<% Dim strPostNr strPostNr = Request.Form("postnr") strPostNr = Replace(strPostNr, ",", "-") strPostNr = Replace(strPostNr, ".", "-") If Len(strPostNr) < 4 And IsNumeric(strPostNr) And Instr(strPostNr,"-") = 0 Then 'Udfører funktion Else Response.Write("Du skal indtaste et korrekt postnummer!") End If %>
apo >> Så er vi jo ude i hvilke operationer som kræver mest ;o) Ved ikke om asp er dovent evaluerende..men i så fald..hehe Hov og så lige et lighedstegn da postnummeret vel også godt må være 4 <% Dim strPostNr strPostNr = Request.Form("postnr") If Len(strPostNr) <= 4 And IsNumeric(strPostNr) And Instr(strPostNr,",") = 0 And Instr(strPostNr,".") = 0 Then 'Udfører funktion Else Response.Write("Du skal indtaste et korrekt postnummer!") End If %>
Jeg giver ranglen ret... jeg er bare ikke så hård i regulære udtryk... Fordelen er at man kan udtrykke meget på lidt plads Ulempen er at man kan udtrykke meget på lidt plads Så hvis man ikke er hård i det..så er de måske svære at gennemskue
Hurtige og yderst kompetente svar :) Jeg vil validere på om inputtet er nummerisk, længden og kommaet, så jeg er yderst tilfreds med jeres hjælp / besvarelser :) rigtig mange tak.
Får i automatisk de point jeg har sat på højkant, ellers må I lige sige til :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.