Avatar billede macho Praktikant
04. juli 2003 - 12:43 Der er 4 kommentarer og
1 løsning

September accepteres ikke, når jeg validerer dato.

En underlig ting:

Jeg bruger følgende script til validering af dato (to felter):

    regex =/^(3[01]|0[0-9]|[12]\d)\/(0[1-9]|1[012])\/\d{4}/;
    dato1 = "0"

    //Check for firstinput
    dat = document.frmEnquiry.firstinput.value;
    if (dat == ""||!regex.test(dat)){
        errorMsg += "\n\tFørste overnatning \t- Indtast første nat i dette format: (DD/MM/ÅÅÅÅ)\n";
    }else{
      dat = dat.split("/");
      var tdate = new Date(parseInt(dat[2]),parseInt(dat[1])-1,parseInt(dat[0]));
      if (tdate.getDate()!=parseInt(dat[0])||tdate.getMonth()+1!=parseInt(dat[1])||tdate.getFullYear()!=parseInt(dat[2])){
        errorMsg += "\n\tFørste overnatning \t- Ugyldig dato (DD/MM/ÅÅÅÅ)\n";
      }else{dato1=tdate.getTime();
        var chdato = new Date().getTime()+ (24*60*60*1000);
        if (chdato>dato1)
          errorMsg += "\n\tFørste overnatning \t- Når du benytter denne formular,\n\t\t\t  kan du tidligst bestille to dage frem\n"
      };
    }

   
   
    //Check for secondinput
    dat = document.frmEnquiry.secondinput.value;
//    alert(dat);
    if (dat == ""||!regex.test(dat)){
        errorMsg += "\n\tSidste overnatning \t- Indtast sidste nat i dette format: (DD/MM/ÅÅÅÅ)\n";
    }else{
      dat = dat.split("/");
      var tdate = new Date(parseInt(dat[2]),parseInt(dat[1])-1,parseInt(dat[0]));
      if (tdate.getDate()!=parseInt(dat[0])||tdate.getMonth()+1!=parseInt(dat[1])||tdate.getFullYear()!=parseInt(dat[2])){
        errorMsg += "\n\tSidste overnatning \t- Ugyldig dato (DD/MM/ÅÅÅÅ)\n";
      }else{
          if(dato1>tdate.getTime())
              errorMsg += "\n\tSidste overnatning \t- Dato kan ikke være tidligere end første nat\n"
          }
     
    }


Mit problem er, at hvis jeg indtaster en hvilken som helst dato i september måned (f.eks. 01/09/2003) får jeg fejlmeldingen "UGYLDIG DATO (DD/MM/ÅÅÅÅ)"

Eksempel på scriptet kan ses on-line her:
http://www.staal-larsen.dk/mail/contact_test2.htm
Avatar billede roenving Novice
04. juli 2003 - 12:48 #1
Hov, i inputmasken arbejder vi også med en anden parseInt, så du skal:

var tdate = new Date(parseInt(dat[2],10),parseInt(dat[1],10)-1,parseInt(dat[0],10));
      if (tdate.getDate()!=parseInt(dat[0],10)||tdate.getMonth()+1!=parseInt(dat[1],10)||tdate.getFullYear()!=parseInt(dat[2],10)){

i begge udgaver ...

Fejlen er at der forekommer et ugyldigt oktalt nummer fordi javascript fortolker en tal som starter med 0 som et oktalt nummer, som jo kun kan have værdier fra 0 til 7 ...

hth
jes
Avatar billede macho Praktikant
04. juli 2003 - 12:52 #2
Ja, det hjalp jo på det! Virker fint - tks.

und jetz de punte für dich ;.)
Avatar billede roenving Novice
04. juli 2003 - 14:16 #3
Ja, Ja, aber wir sollen doch alle die Problemen gelösen gewesen gehabt ,-)

-- jeg har jo så også checket den anden ud, så:

Virker det nu ?o]

'-)
Avatar billede macho Praktikant
04. juli 2003 - 15:06 #4
Aber jah... alles ist sehr schön :-)

Håber jeg har fået testet den helt igennem nu. Der skal tænkes kreativt, når der skal testes. Tak for hjælpen, igen igen...
Avatar billede roenving Novice
04. juli 2003 - 15:31 #5
-- jamen velbekomme -- og ellers må du jo vende tilbage -- evt. i den oprindelige tråd -- det skulle jo gerne være funktionelt, når det har været igennem E's maskine ...

-- og tak for points ;~}
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

IT-JOB

Capgemini Danmark A/S

Open Application (Denmark)

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Netcompany A/S

IT Consultant

Everllence

Data Engineer