Ich benutze Spring 3.1.2.RELEASE. Ich möchte eine Fehlermeldung auf meiner JSP anzeigen, wenn mein Datumsfeld nicht richtig formatiert ist. Ich dachte, ich wäre den richtigen Schritten gefolgt. Ich verbinde einen Konverter in meinem Controller ...
%Vor%Ich habe diese Fehlermeldungen in meine Datei messages.properties aufgenommen (im Kontext der Spring-Anwendung enthalten)
%Vor%Hier ist das Modell, das ich benutze:
%Vor%Und hier ist die Fehlermeldung, die ich erhalte, wenn ich mein Formular mit einem schlecht formatierten Datum absende ...
%Vor%Was muss ich noch tun, um nach einem schlecht formatierten Datum zu suchen? Ich würde lieber eine freundliche Fehlermeldung für den Benutzer anzeigen, anstatt die Seite unwiderstehlich zu sterben.
Hier ist die Controller-Methode, die mit dem Formular umgehen soll. Hinweis Ich habe bereits ein BindingResult eingefügt.
%Vor%Siehe: Spring @ Valid-Validator wurde nicht ordnungsgemäß aufgerufen (Roo, Hibernate ) .
Kurzgeschichte ändert die Controller-Methodensignatur von
%Vor%bis
%Vor%hat alles repariert.
Ich nehme an, dass Sie das Formular mit POST
an eine Ihrer @ModelAttribute
-Methoden binden sollten. In der gleichen Methode binden Sie eine BindingResult bindingResult
und alle Binding-Fehler sollten in diesem bindingResult
-Objekt erfasst werden. Innerhalb der Methode sollten Sie nach
if (bindingResult.hasErrors()) {
und ergreifen Sie die entsprechenden Maßnahmen.
Ich glaube, dass der Fehler beim Formatieren der Daten auftritt. Um zu bestätigen, dass Sie Ihre Anwendung debuggen müssen und Datumswert überprüfen müssen. Und eine andere gute Praxis wäre zu glauben, dass Sie ein Standardformat für Ihre Anwendung konfigurieren.
Folgen Sie dem folgenden Beispiel:
%Vor%Kommentieren Sie eine Methode für diese Controller-Klasse mit dieser Annotation auf Klassen- / Methodenebene:
%Vor%mehr info
Tags und Links spring error-handling validation date model