Avatar billede horsmark Nybegynder
13. september 2001 - 22:57 Der er 9 kommentarer og
1 løsning

Datovalidering dd-mm-yy

Når jeg bliver gammel vil jeg bygge en fabrik hvor man vi fletter bøllehatte  ud af blomkål... MEN udover det så har jeg et spørgsmål...

Datovalidering på følgende form dd-mm-yy
1. datoen må ikke være mindre end i dag
2. datoen skal være valid

Jeg har en del javascript datocheck men nu har jeg brug for lidt friskt kode til inspiration...

<mvh>Onkel HorsMark</mvh>

Avatar billede jakoba Nybegynder
14. september 2001 - 00:30 #1

<script language=\'javascript\'> <!--

        // jeg går ud fra at dd-mm-yy format i parameteren er ok.
        //
function checkDato( dstring ) {
    var dmy = dstring.split(\"-\");
    for (var i=0; 3>i; i++ ) dmy[0] = parseInt( dmy[0], 10 );
    var inp = new Date( dmy[2], dmy[1]-1, dmy[0] );
    var nu = new Date()
    if ( nu.valueOf() > inp.valueOf() ) return false;
    if ( inp.getDate() != dmy[0] ) return false;
    if ( inp.getMonth() != dmy[1]-1 ) return false;
    return true;
}; //end checkDato( string ) -> boolean

// --> </script>

mvh JakobA
Avatar billede jakoba Nybegynder
14. september 2001 - 00:32 #2
Ups. fejl i forløkke. brug i som index istedetfor 0
    for (var i=0; 3>i; i++ ) dmy[i] = parseInt( dmy[i], 10 );
Avatar billede nute Nybegynder
14. september 2001 - 10:00 #3
kanskje denne kan gi deg noe inspirasjon:

http://www.builder.dk/artikler/article.asp?AID=127

/nute
Avatar billede horsmark Nybegynder
14. september 2001 - 17:43 #4
hmmm jeg fandt dette istedet...

function validatedate(f) {
    if (f.OpgaveOnskeklardato.value==\"\") {
      alert(\"Du skal skrive en dato\");
      return false;
    }
    if (f.OpgaveOnskeklardato.value.length!=8) {
      alert(\"Datoen skal skrives på formen MM-DD-ÅÅ\");
            return false;
    }
    if (f.OpgaveOnskeklardato.value.charAt(2)!=\"-\" || f.OpgaveOnskeklardato.value.charAt(5)!=\"-\") {
      alert(\"Datoen skal skrives på formen MM-DD-ÅÅ\");
      return false;
    }
    var dd=parseInt(f.OpgaveOnskeklardato.value.substring(0,2));
    var mm=parseInt(f.OpgaveOnskeklardato.value.substring(3,5));
    var yy=parseInt(f.OpgaveOnskeklardato.value.substring(6,8));
    if (mm<1 || mm>12 || dd<1 || dd>31) {
      alert(\"Ulovlig dato\");
      return false;
    }
    if (yy>=70) { yyyy=yy+1900 } else { yyyy=yy+2000; }
    d=new Date(yyyy,mm-1,dd,0,0,0,0);
    if (d.getFullYear()!=yyyy || (d.getMonth()+1)!=mm || d.getDate()!=dd) {
      alert(\"Ulovlig dato\");
      return false;
    }
SubmitForm.submit();
}
Avatar billede carpediem Nybegynder
14. september 2001 - 20:20 #5
Når du bruger Javascript, er det så fordi at du vil have det valideret inden der trykkes submit?
Avatar billede horsmark Nybegynder
15. september 2001 - 04:39 #6
ja det er netop det der er pointen, eftersom det både tager tid og ressourcer at load asp´en - tjecke for ugyldige datoe ogf derefter returnere med fejl...

Avatar billede horsmark Nybegynder
15. september 2001 - 04:39 #7
<mvh>Onkel HorsMark</mvh>
Avatar billede roenving Novice
15. september 2001 - 04:45 #8
Grrr ...
Jeg tvivler ikke på, at du kan bruge det du ahr fundet,

Men du har fået et fuldstændigt korrekt svar, så det kan du ikke afvise !·|

>>horsmark
På\'en igen ;·]
Avatar billede horsmark Nybegynder
15. september 2001 - 12:17 #9
HARHAHA NU OVERSÅ JEG FAAAME IGEN DIG X-SVOGER

*SIG MIG ENGANG...ER JEG TOTAL BLØD I BATTET* ?????

oki jeg var stiv inat og fattede minus

MUARHAHAHAH --> \"Når du bruger Javascript, er det så fordi at du vil have det valideret inden der trykkes submit\"
Avatar billede horsmark Nybegynder
15. september 2001 - 12:17 #10
CARPEDIEM >> du er simpelthen for sjov *GGGGG* (megagriner ligenu *tsktsk)
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