Avatar billede funkoo Nybegynder
14. oktober 2001 - 22:58 Der er 6 kommentarer og
1 løsning

validering af dato

Hej,
Jeg skal have en fejltjek på to indtastede dato. Datoerne er i yyyy-MM-dd. Jeg har lavet en form og forsøgt med:
<form...... onSubmit=\"return Checkform(this);\">
-
-
-
function Checkform(thisform) {
    // Startværdier
    strError = \'Der opstod følgende fejl:\\n\\n\';
    intError = 0;
if (thisform.start.value >= thisform.slut.value)
    {
        strError = strError + \'-Slutdatoen skal være  efter startdato. \\n\'
        intError = 1;
        thisform.projektslut.focus();
    }

    if (intError == 1) {
    alert(strError)
    return false;
    }
}
Avatar billede fri-hash Nybegynder
14. oktober 2001 - 23:22 #1
hvis det er date-typen kan det være de skal parses til int , men kan ikke lige huske den
Avatar billede funkoo Nybegynder
14. oktober 2001 - 23:31 #2
Kan man så ikke have datovalidering  på samme side som formen?
Avatar billede jakoba Nybegynder
14. oktober 2001 - 23:59 #3
jo sagtens. Lav en extra lille funktion og ret lidt i den du har:

function nyDato( tstr ) {
    var aar    = parseInt( tstr.substring(0,4), 10 );
    var maaned = parseInt( tstr.substring(5,7), 10 )-1;
    var dag    = parseInt( tstr.substring(8,10),10 );
    return new Date( aar, maaned, dag );
}; //end nydato( string ) -> Date

function Checkform(thisform) {
    // Startværdier
    strError = \'Der opstod følgende fejl:\\n\\n\';
    intError = 0;
    var startTid = nyDato( thisform.start.value );
    var slutTid = nyDato( thisform.slut.value );
    if ( startTid.valueOf() >= slutTid.valueOf() )
    {
        strError = strError + \'-Slutdatoen skal være  efter startdato. \\n\'
        intError = 1;
        thisform.projektslut.focus();
    }

    if (intError == 1) {
    alert(strError)
    return false;
    }
}

mvh JakobA
Avatar billede funkoo Nybegynder
15. oktober 2001 - 10:37 #4
Kanon, Jakoba
Det virkede!!
Avatar billede funkoo Nybegynder
15. oktober 2001 - 10:38 #5
Thanks
Avatar billede funkoo Nybegynder
15. oktober 2001 - 12:40 #6
Et tillægsspørgsmål!
Hvordan kan man lave fejltjek på bogstaver i dato felter?
Avatar billede jakoba Nybegynder
15. oktober 2001 - 13:03 #7
tak for pts.
Den nemmeste måde er at sige fx:

var mitFormat = /^\\d{4}-\\d{2}-\\d{2}$/; // definerer yyyy-mm-dd formatet

if ( mitFormat.test( thisform.start.value ) ) {
    // Ja det der står i feltet overholder det format
} else {
    // nix. det indtastede overholder ikke formatet.
}

Den måde at definere formatet hedder en regular expression og er værd at lære. Jeg mener www.builder.dk skriver om det.

mvh JakobA
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