2012-03-28 7 views
0

Ich habe gehört, über NumberTextField, und ein parametrisiertes Textfield. Aber ich suche nach etwas, das validiert, wenn es eine Zahl in der Textbox gibt, und anstatt eine Ausnahme zu werfen, sollte es einen Fehler im Feedback-Panel zeigen. Was ist die Lösung dafür?Wie kann ich die Nummer in Wicket 1.5.3 validieren?

Antwort

3

Wenn Sie Ihr Textfeld mit TextField<Integer> parametrieren, erhalten Sie eine Rückmeldung, dass die Eingabe für Typ Integer nicht gültig ist. Sie sollten das Modellobjekt auch mit Integer parametrisieren. das ist es, das ist alles, was Sie tun müssen. Sie benötigen keine benutzerdefinierte Validierung. Sie können auch einige Standard-Nummer Validatoren wie RangeValidator<Integer> verwenden, wenn Sie eine erweiterte Validierung benötigen.

+0

Danke ich fühle mich gesund jetzt lol. –

+0

Falls Sie sich fragen, woher die genaue Fehlermeldung des Validators für das parametrierte Textfeld kommt: Schauen Sie sich die Datei Application.properties von Wicket an. – Philipp

0

Sie können Ihrem TextField einen eigenen Validator hinzufügen. Dieser Validator sollte überprüfen, ob der Eingabewert eine Zahl ist. Here finden Sie ein Beispiel zur Implementierung eines eigenen Validators.

+0

nicht sicher, dass das funktioniert. Eingabe wird zuerst konvertiert, dann validiert. Und die Konvertierung wird höchstwahrscheinlich für jede Nicht-Zahl-Eingabe fehlschlagen, die ich befürchte. – bert

+0

Soweit ich das Problem verstanden habe, möchte er ein TextField haben und möchte überprüfen, ob die Eingabe die Nummer ist oder nicht. Wenn keine Nummer vorhanden ist, sollte ein Fehler als Rückmeldung angezeigt werden. Ich denke, ein Validator würde für diese Art von Problem gut funktionieren. – magomi

+0

mit einem textField ja, mit einem NumberTextField nein;) – bert

0

Nun, Sie können einen IsNumberValidator oder so etwas implementieren, aber auf diese Art von Situationen möchte ich lieber auf Client-Seite mit Javascript validieren, macht mehr Sinn. (Masked Input Plugin ist ein nettes JQuery-Plugin, das einfach zu benutzen ist). Sie können dann eine zusätzliche Validierung auf der Serverseite durchführen, falls der schlechte Benutzer etwas Unartiges tut, damit Ihre Anwendung aufgrund der schlechten Eingabe nicht durcheinander gerät.

Verwandte Themen