Eingabe überprüfen
MartinKitzler
- asp.net
0 Rouven0 Tom20 MartinKitzler0 Tom2
Hallo an alle
Ich habe folgendes Problem. Also ich möchte auf der ersten Asp-Seite Werte einlesen und diese kontrollieren. Dh. des eingelesene Wert sollte eine Zahl sein. Falls das nicht der Fall ist sollte die Fehlermeldung erscheinen "Sie müssen eine Zahl eingeben". Und falls nichts in das Eingabefeld geschrieben wurde sollte die Meldung "Sie müssen einen Wert eingeben" erscheinen. Anschließend sollten (wenn die Eingabe eine Zahl ist) die Werte auf eine nächste Asp- Seite übernommen werden.
Jetzt hab ich nur das Problem mit den Fehlermeldungen. Kann mir bitte wer helfen.
Hier der Code der 1.Seite
<body>
<form name="Formular" method="post" action="Berechnung.asp">
wert1: <input type="float" name="wert1" maxlength="10"> <br>
wert2: <input type="float" name="wert2" maxlength="10"> <br>
wert3: <input type="float" name="wert3" maxlength="10"> <br> <br>
<input type="submit" value="Berechnen" >
</form>
</body>
Und hier der 2. Seiten
<body>
<%Public strwert1, strwert1, strwert1
strwert1 = cDbl(request.form ("wert1"))
strwert2 = cDbl(request.form ("wert2"))
strwert3 = cDbl(request.form ("wert3"))
Response.write strwert1
Response.write strwert2
Response.write strwert3
%>
</body>
Wie kann ich bloss jetzt die Eingegebenen Werte der 1. Seite prüfen???
Morgen,
strwert1 = cDbl(request.form ("wert1"))
strwert2 = cDbl(request.form ("wert2"))
strwert3 = cDbl(request.form ("wert3"))
An dieser Stelle setzt du ja irgendwie schon voraus, dass sich der Inhalt von wert1 in einen Double verwandeln lässt. Das ist sicherlich etwas verfrüht - Angemessener wäre vielleicht so etwas:
strwert1 = Request.Form("wert1")
' Wert vorhanden?
if (strwert1 = "") then
Response.Write("Sie müssen einen Wert eingeben")
valueok = false
else
'Wert ist vorhanden, ist es eine Zahl
if (Not isnumeric(strwert1)) then
Response.Write("Sie müssen eine Zahl eingeben")
valueok = false
else
valueok = true
end if
end if
'anhand von Valueok kannst du jetzt erkennen, ob die Prüfung erfolgreich war oder nicht.
MfG
Rouven
Hi
Das von Rouven gepostete Verfahren würde ich in der Formularseite selbst anwenden, weil du dadurch dem Benutzer das Formular gleich wieder zur Verfügung stellen kannst. Das setzt natrülich voraus, dass die Formulardaten an das Formularskript selbst geschickt werden.
FG & HTH
Tom2
<<Das setzt natrülich voraus, dass die Formulardaten an das Formularskript selbst geschickt werden.>>
Jaa, und weißt du vielleicht wie ich dieses Problem umgehn könnte?? Denn ich will ja die Werte erst auf der zweiten Seite ausgeben.
Hi
Jaa, und weißt du vielleicht wie ich dieses Problem umgehn könnte?? Denn ich will ja die Werte erst auf der zweiten Seite ausgeben.
Wenn die Daten überprüft wurden kannst du sie ja in eine Session schreiben oder als URL Parameter mittels Response.Redirect an die andere Seite übergeben. Obwohl, dort musst du die Daten ev. nochmals prüfen. Kannst du die Daten nicht auch gleich aus dem Formularskript verarbeiten?
FG
Tom2
Nein, leider nicht. Muss die Daten auf die 2.Seite schicken, weil ich dann die gesamte Seite drucken möchte. Hmmm, dass mit der Session werd ich mal probiern. Danke!!
Lg, Martin