Avatar billede coders Nybegynder
21. februar 2003 - 19:36 Der er 22 kommentarer og
1 løsning

validering af formular felter

hvordan laver man en validering af ens formularfelter. Dva. der skal kommme en rød besked over hver felt som ikke er udfyldt.

nogen der kan hjælpe med det ?
Avatar billede oskar Nybegynder
21. februar 2003 - 20:06 #1
I starten af den modtagende side skriver du f.eks.:

<%
If Request.Form("Lokale") = "" or Request.Form("Anmelder") ="" or Request.Form("Email") ="" or Request.Form("Telefon") ="" or Request.Form("Fejl") = "" then
%>
<BR><BR><CENTER>
<FONT SIZE="5">De fem første felter skal udfyldes<BR><BR>
<A HREF="java script:history.back(1)">Klik her for at gå tilbage og prøve igen</A>
</FONT></CENTER>
<% Else %>
Avatar billede coders Nybegynder
21. februar 2003 - 20:14 #2
nej det skal være sådan at over hver enkelt felt der ikke er udfyldt skal komme en rød besked ovenover feltet.
Avatar billede sirerugor Nybegynder
21. februar 2003 - 20:34 #3
Hej dude... Det er nemmere hvis du implimenterer lidt JS :)
Eksempel:

<html>
<head>
<title>Validering</title>
<script language="javascript">
  function Check(){
  var besked
  if (document.test.navn.value != "Navn?" && document.test.alder.value != "Alder?") {
    document.test.submit()
  } else {
    besked = "Der var følgende fejl i dine indtastninger:\n"
    if (document.test.navn.value = "Navn?") { besked = besked + "\nNavn, skal skrives!" }
    if (document.test.alder.value = "Alder?") { besked = besked + "\nAlder, skal skrives! }
    alert(besked)
  }
  }
</script>
</head>
<body>

<form name="test" action="default.asp" method="post">
<input type="text" value="Navn?" name="navn"><br>
<input type="text" value="Alder?" name="alder"><br>
<input type="button" value="Try me.." onclick="java script:Check();">
</form>

</body>
</html>
Avatar billede sirerugor Nybegynder
21. februar 2003 - 20:36 #4
linien: 
  if (document.test.alder.value = "Alder?") { besked = besked + "\nAlder, skal skrives! }

Skal være:
  if (document.test.alder.value = "Alder?") { besked = besked + "\nAlder, skal skrives!" }
Avatar billede olebole Juniormester
21. februar 2003 - 21:06 #5
<ole>

sirerugor >> Ehhhhh ...... hvad skulle planen være med det script?  :)

/mvh
</bole>
Avatar billede coders Nybegynder
21. februar 2003 - 21:08 #6
ole kan du hjælpe ?
Avatar billede olebole Juniormester
21. februar 2003 - 21:15 #7
Skal det være på klienten eller på serveren, der valideres?
Avatar billede coders Nybegynder
21. februar 2003 - 21:17 #8
på formularen...
Avatar billede olebole Juniormester
21. februar 2003 - 21:22 #9
Jamen, inden den sendes til serveren - eller når den når op på serveren?
Avatar billede coders Nybegynder
21. februar 2003 - 21:24 #10
når den er på serveren self. ellers kan aso jo ikke afvikles ;)
Asp kan kun afvikles på en server da det er et server baseret sprog.
Avatar billede olebole Juniormester
21. februar 2003 - 21:32 #11
Ja, jeg skriver selv til ASP, så det er jeg godt klar over  :)
Men du har jo både mulighed for at checke formen på klientmaskinen og på serveren. Normalt gør man begge dele ... på klienten for at spare tid for brugeren og spare på unødige kald til serveren - og på serveren for en sikkerheds skyld, hvis en 'lusker' sender uden om formen, eller en bruger har slået JS fra  :)
Avatar billede coders Nybegynder
21. februar 2003 - 21:33 #12
bare løs problemet
Avatar billede jacand Nybegynder
21. februar 2003 - 21:49 #13
Prøv denne her:

-----------------
form.asp

<meta http-equiv="Content-Language" content="da">
<%
mode = Request.Querystring("mode")
navn = Request.Querystring("navn")
%>

<form method="POST" action="tjek.asp">
  <p>
  <input type="text" name="navn" size="40" value="<%=navn%>" <%if mode = "fejl" then %>style="color: #FF0000"<%end if%>><input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2"></p>
</form>
</body>
</html>

-----------------------
tjek.asp

<%
navn = request.form("navn")
if navn = "" then
        Response.Redirect "form.asp?mode=fejl&navn=Ups, du mangler denne!!"
        fejl = 1
    end if   

if not fejl = 1 then

' indsæt i database hvis ingen fejl er fundet.
end if
%>
Avatar billede olebole Juniormester
21. februar 2003 - 22:14 #14
<script language="jscript" runat="server">
var no_error = true;
if ( Request.Form("navn")== "" ) {
    var err_navn = "display:block;";
    no_error = false;
}
if ( Request.Form("email")== "" ) {
    var err_email = "display:block;";
    no_error = false;
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
.errmsg {
    font-family: verdana, arial;
    font-size: 10px;
    font-weight: bold;
    color: #ff0000;
    display: none;
}
</style>
<script type="text/JavaScript">
var d=document;function gE(id){return d.getElementById(id)}
function checkForm(f) {
    var err = false;
    if ( f.navn.value=="" ) {
        gE("navn_msg").style.display = "block";
        err = true;
    }
    if ( f.email.value=="" ) {
        gE("email_msg").style.display = "block";
        err = true;
    }
    return (err)? false : true;
}
</script>
</head>
<body>

<form action="asp_test.asp" method="get" onsubmit="return checkForm(this)">
    <div id="navn_msg" class="errmsg" style="<%=err_navn%>">* Husk at skrive dit navn ...</div>
    <input type="text" name="navn" value="<%=Request.Form("navn")%>"><br>
    <div id="email_msg" class="errmsg" style="<%=err_email%>">* Husk at skrive din e-mail-adresse ...</div>
    <input type="text" name="email" value="<%=Request.Form("email")%>"><br>
    <button type="submit">Send</button>
</form>

</body>
</html>

Denne tester først på klienten med JavaScript. Derefter tester den under ASP med JScript.
Hvis du skal indsætte i database el.lign. tester du bare med VBScript efter min aller øverste JScript-blok på variablen 'no_error'. Hvis den er true, er felterne udfyldt ogg du kan fylde i DB'en ... er den false, er felterne ikke udfyldt.
/mvh
Avatar billede coders Nybegynder
22. februar 2003 - 09:35 #15
meget fin kode jacand, men den gør at jeg ikke kan bruge siden hvis den indsættes.
Avatar billede jacand Nybegynder
22. februar 2003 - 10:10 #16
Hvad skal du bruge side til?
Avatar billede coders Nybegynder
22. februar 2003 - 11:04 #17
en kontakt formular. du kan se www.codevision.dk/send2.asp
Avatar billede jacand Nybegynder
22. februar 2003 - 12:13 #18
hvad bruger du til at sende med?
skal den sende en mail eller hvordan?

Kan du ikek sende koden til mig på ja@jfa.dk
Avatar billede coders Nybegynder
22. februar 2003 - 12:22 #19
jeg har fået lavet det - så nu kører det igen. :)
Avatar billede coders Nybegynder
22. februar 2003 - 12:23 #20
jacand jeg vil gerne give dig 10 point fordi du satte mig på sporet af løsningen. Mange tak - så laver du lige et svar :) ?
Avatar billede jacand Nybegynder
22. februar 2003 - 12:27 #21
svar :-)
Avatar billede jacand Nybegynder
22. februar 2003 - 12:33 #22
Thx for point
Avatar billede coders Nybegynder
22. februar 2003 - 12:36 #23
np
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
Kurser inden for grundlæggende programmering

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