Avatar billede krc_ Nybegynder
11. januar 2004 - 00:52 Der er 10 kommentarer

Teste for at der er indtastet en dato!

Hej !

Jeg bruger følgende for at tjekke at der er indtastet noget i et bestemt felt og hvis ikke så returnerer den en besked.

strForfatter    = Trim(Replace(replace(Request.Form("Forfatter"),"'",""),"<","&lt;"))


if    len(strForfatter) < 1 or strForfatter ="" then
    Response.Redirect "indtast_nyhed.asp?msg=" & Server.URLEncode ("Du skal indtaste dit navn.") & "&forfatter=" & Server.URLEncode(strForfatter)& "&Overskrift=" & Server.URLEncode(strOverskrift)& "&Kilde=" & Server.URLEncode(strKilde)& "&Nyhed=" & Server.URLEncode(strNyhed)

Men nu har jeg et dato-felt i følgende format : dd-mm-yyyy hvordan tjekker jeg for at det er indtaste i det rigtige format og at det er en rigtig dato ?
Avatar billede eagleeye Praktikant
11. januar 2004 - 01:05 #1
Man kan bruge  isDate  den returnere true eller false:

if isDate("12-01-2004") = false then
  Response.Write "ugyldig dato"
end if
Avatar billede krc_ Nybegynder
11. januar 2004 - 01:07 #2
hmm okay....mit felt hedder fangstmnd, skal det så være :
if isfangstmnd("12-01-2004") = false then

og er det bare formatet på feltet? For det skal jo ik være 12-01-2004 :o)
Avatar billede eagleeye Praktikant
11. januar 2004 - 01:09 #3
Det var bare en tilfældig dato for eks, du skriver bare Request.Form("xx")


if isDate(Request.Form("fangstmnd")) = false then
  Response.Write "ugyldig dato"
end if
Avatar billede krc_ Nybegynder
11. januar 2004 - 01:18 #4
aahhh :D Prøver lige
Avatar billede krc_ Nybegynder
11. januar 2004 - 01:23 #5
det virker jo fint.....man kan dog godt indtaste 12-30-2002, men det er vel fordi den mener det er den 30. december så ik ?
Avatar billede eagleeye Praktikant
11. januar 2004 - 01:29 #6
Ja det er det. Alternativt kan man lige tilføje lidt:

maned = Mid(Request.Form("fangstmnd"),3,2)
if maned > 12 or isDate(Request.Form("fangstmnd")) = false then
  Response.Write "ugyldig dato"
end if
Avatar billede krc_ Nybegynder
11. januar 2004 - 01:45 #7
Hmm...det virker kanon....men det irriterer mig lidt at det ikke er i formatet dd-mm-yyyy kan man ikke gøre det ?
Avatar billede krc_ Nybegynder
11. januar 2004 - 01:51 #8
smid et svar forresten! :o)
Avatar billede eagleeye Praktikant
11. januar 2004 - 01:52 #9
men det irriterer mig lidt at det ikke er i formatet dd-mm-yyyy kan man ikke gøre det ?

Jo det kan jeg men jeg forstår ikke helt det sidste sprøgsmål?
Avatar billede eagleeye Praktikant
11. januar 2004 - 01:57 #10
arh, det med månede virker ikke ordenlidt fordi den tager en karakter forkert så prøv lige sådan her:


maned = Mid(Request.Form("fangstmnd"),4,2)
if maned > 12 or isDate(Request.Form("fangstmnd")) = false then
  Response.Write "ugyldig dato"
end if
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester