Variable aus einem HTML Formular auf int testen

Dieguito

Mitglied
Hallo,

ein User kann in einem HTML - Formular eine Zahl angeben. Wenn ich das mit einem jsp auswerte, gibt es - natürlich - ein Problem, wenn der User keine Zahl sondern einen String angibt.

(Type mismatch bei int _betrag = request.getParameter( "betrag" );)

Wie kann ich das abfangen?
 
du kannst direkt
Java:
int iZahl = Integer.parseInt(s);
wobei s der übergebene String ist

am einfachsten ist es wenn du direkt auf der Seite eine Validierung machst, ob in dem Feld eine Zahl oder nen String oder was weiß ich stand!

Edit: wenn du ein request.getParameter( "betrag" ) bekommste immer einen String zurück! so oder so musste ein Integer.parseInt() machen!!
 
ja, danke mal für Deine Antwort.

Nur, wenn ich

int _beitrag = Integer.parseInt( request.getParameter( "beitrag" ) );

ausführe, trott der Fehler ja schon auf, wenn im Formualr ein String im Formular angegeben wurde. Wie verhindere ich, dass jemand einen String eingibt und dann der Fehler entsteht?

In PHP ist das sehr einfach zu testen, aber in JAVA (jsp) weiss ich es leider nicht.
 
Hallo

wenn du das so machst
Code:
int iZahl = Integer.parseInt(s);
dann wird eine NumberFormatException geworfen, wenn der Text keine Zahl ist, somit hast du dann deine Prüfung, wenn du das ganze in einen try/catch-Block packst.

Java:
try{
   int iZahl = Integer.parseInt(s);
   //mach weiter
}
catch(NumberFormatException e){
   //mach das was du machen willst, wenn es keine Zahl ist
}

MFG

zEriX
 
Zurück