19. oktober 2006 - 13:47Der er
9 kommentarer og 1 løsning
Datovalidering igen
Hejsa
Har kigget i et utal af andre svar men synes ikke at kunne få diverse scripts til datovalidering til at virke. -------------------------
<script Language="JavaScript"> <!-- function CheckBlank() { if (Repform.FejlDato.value == "") { alert("Dato for fejl skal udfyldes"); Repform.FejlDato.focus(); return (false); } if (Repform.RepSlut.value == "") { alert("Dato for afslutning af reparation skal udfyldes"); Repform.RepSlut.focus(); return (false); } if (Repform.EjerKlage.value == "") { alert("Ejers klage skal udfyldes"); Repform.EjerKlage.focus();
--------------------- Altså : I ovenstående tjekkes der kun på om felterne er blanke. hvis de er får man en alert i hovedet. Det er fint nok til textarea, men jeg har brug for at der tjekkes på om det er korrekt datoformat i begge datofelter.
Nogen der kan komme med en hurtig løsning jeg bare kan smide ind i ovenstående javascript ??
if(!isDate(Repform.FejlDato.value)) { alert("Dato for fejl skal udfyldes"); Repform.FejlDato.focus(); return (false); } if(!isDate(Repform.RepSlut.value)) { alert("Dato for afslutning af reparation skal udfyldes"); Repform.RepSlut.focus(); return (false); }
Der findes ingen isDate i JS, men jeg har lige lavet en:
function isDate(fDate) { dato = fDate d = parseInt(dato.substring(0,2)) m = parseInt(dato.substring(3,5)) y = parseInt(dato.substring(6,10)) var day = new Date(y,m-1,d); alert(day.getDate()) return (day.getDate()==d); }
I ASP skal du bare bruge den indbygget: if isDate(request.form("datoFelt")) then response.write "OK" else response.write "Forkert dato" end if
"men så risikerer jeg at bruger får valgt 31 02 2017 det er jo ikke en gyldig dato"
- ja, det er klart. Sandsynligheden for, at en bruger vælger en invalid dato, er dog forsvindende lille i forhold til faren for at skrive datoen i forkert format.
Hvis du bruger tre selects, vil din server-validering formodentlig kun sende brugeren tilbage til formen en brøkdel af de gange, det vil ske med en alm. tekst-boks ... og man jo ligesågodt gøre tingene så brugervenlige som muligt ;o)
fennec smid et svar :-) tjekker på om formularens felter er datoer som du beskrev. og det virker. endte så med noget der ikke var javascript , men det er så også fint
Funktionen har brug for lidt ekstra tjek, men det må så blive en anden gang.
.o) <-- One Eyed Jack
Synes godt om
Ny brugerNybegynder
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.