14. marts 2001 - 20:32Der er
17 kommentarer og 1 løsning
Hvordan validere man med javascript i en ASP-fil?
Jeg kunne godt tænke mig at vide om hvordan man validere i en asp-fil. Blandt andet hvordan man checker for om en email er korrekt indtastet og checke for om et felt indeholder et tal, checke for om længde af det indtastede er korrekt.
Da jeg nu har behov får at hente alle mulige postnummer fra databasen bliver jeg nødt til at ændre min html-filen til en asp-fil som henter postnumrene fra databasen. Jeg vil nu vide hvordan jeg skal validere de andre felter i formen. Kan jeg genbruge den validering som jeg havde i html-filen på asp-filen.
Ja men hvordan kan du give fortælle hvordan min kode for asp-filen skal se ud hvis jeg ønsker html-filen ændret så den hedder noget med asp. Her min kode for html-filen.
profil20.htm
<html> <TITLE>Oprettelse af profil</TITLE> <BASEFONT FACE=\"Comic Sans MS\" COLOR=\"DarkBlue\"> <h2>OPRETTELSE AF PROFIL</h2> <Script language=\"JavaScript\"> <!-- //global variable for error flag var errfound = false; //længde af text streng function ValidLength(item, len) { return (item.length >= len); } // email adresse kontrol function gyldigEmail(email) { ugyldigeTegn = \" /:,;\"
// Må ikke være tom if (email == \"\") { return false }
// Indeholder den ugyldige tegn? for (i=0; i<ugyldigeTegn.length; i++) { fejlTegn = ugyldigeTegn.charAt(i) if (email.indexOf(fejlTegn,0) > -1) { return false } }
// Der skal være et @-tegn paaPos = email.indexOf(\"@\",1) if (paaPos == -1) { return false }
// Og kun et @-tegn if (email.indexOf(\"@\",paaPos+1) != -1) { return false } punktumPos = email.indexOf(\".\",paaPos)
// og mindst et punktum efter @-tegnet if (punktumPos == -1) { return false }
// der skal være mindst 2 tegn efter punktummet if (punktumPos+3 > email.length) { return false } return true }
// Postnr kontrol? function erTal(afgivetVaerdi) { if (afgivetVaerdi == \"\") { return false } for (i=0; i<afgivetVaerdi.length; i++) { if (afgivetVaerdi.length < 4) { return false } if (afgivetVaerdi.charAt(i) > \"9\") { return false } } return true }
// fejlmeddelelse function error(elem, text) { // stop hvis fejl if (errfound) return; window.alert(text); elem.select(); elem.focus(); errfound = true; }
// kontrolfunktion function Validate() { errfound = false; if (!ValidLength(document.form.fornavn.value,2)) error(document.form.fornavn,\"Ugyldig fornavn!\"); if (!ValidLength(document.form.efternavn.value,3)) error(document.form.efternavn,\"Ugyldig efternavn!\"); if (!ValidLength(document.form.adresse.value,8)) error(document.form.adresse, \"Ugyldig adresse!\"); if (!erTal(document.form.postnr.value)) error(document.form.postnr,\"Postnummeret er ugyldigt\"); if (!ValidLength(document.form.bynavn.value,4)) error(document.form.bynavn, \"Ugyldig bynavn!\"); if (!gyldigEmail(document.form.email.value)) error(document.form.email, \"Ugyldig email adresse!\"); if (document.form.kvalifikationer.selectedIndex == -1) error(document.form.kvalifikationer, \"Du skal vælge mindst én kvalifikation\");
return !errfound; /* sand hvis ingen error fundet */ } // --> </script> </head> <body >
<html> <TITLE>Oprettelse af profil</TITLE> <BASEFONT FACE=\"Comic Sans MS\" COLOR=\"DarkBlue\"> <h2>OPRETTELSE AF PROFIL</h2> <Script language=\"JavaScript\"> <!-- //global variable for error flag var errfound = false; //længde af text streng function ValidLength(item, len) { return (item.length >= len); } // email adresse kontrol function gyldigEmail(email) { ugyldigeTegn = \" /:,;\"
// Må ikke være tom if (email == \"\") { return false }
// Indeholder den ugyldige tegn? for (i=0; i<ugyldigeTegn.length; i++) { fejlTegn = ugyldigeTegn.charAt(i) if (email.indexOf(fejlTegn,0) > -1) { return false } }
// Der skal være et @-tegn paaPos = email.indexOf(\"@\",1) if (paaPos == -1) { return false }
// Og kun et @-tegn if (email.indexOf(\"@\",paaPos+1) != -1) { return false } punktumPos = email.indexOf(\".\",paaPos)
// og mindst et punktum efter @-tegnet if (punktumPos == -1) { return false }
// der skal være mindst 2 tegn efter punktummet if (punktumPos+3 > email.length) { return false } return true }
// Postnr kontrol? function erTal(afgivetVaerdi) { if (afgivetVaerdi == \"\") { return false } for (i=0; i<afgivetVaerdi.length; i++) { if (afgivetVaerdi.length < 4) { return false } if (afgivetVaerdi.charAt(i) > \"9\") { return false } } return true }
// fejlmeddelelse function error(elem, text) { // stop hvis fejl if (errfound) return; window.alert(text); elem.select(); elem.focus(); errfound = true; }
// kontrolfunktion function Validate() { errfound = false; if (!ValidLength(document.form.fornavn.value,2)) error(document.form.fornavn,\"Ugyldig fornavn!\"); if (!ValidLength(document.form.efternavn.value,3)) error(document.form.efternavn,\"Ugyldig efternavn!\"); if (!ValidLength(document.form.adresse.value,8)) error(document.form.adresse, \"Ugyldig adresse!\"); if (!erTal(document.form.postnr.value)) error(document.form.postnr,\"Postnummeret er ugyldigt\"); if (!ValidLength(document.form.bynavn.value,4)) error(document.form.bynavn, \"Ugyldig bynavn!\"); if (!gyldigEmail(document.form.email.value)) error(document.form.email, \"Ugyldig email adresse!\"); if (document.form.kvalifikationer.selectedIndex == -1) error(document.form.kvalifikationer, \"Du skal vælge mindst én kvalifikation\");
return !errfound; /* sand hvis ingen error fundet */ } // --> </script> </head> <body >
Det er helt okay, jeg er bare glad for at jeg kunne hjælpe :-)
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.