Wie zeige ich einen benutzerfreundlichen Fehler an, wenn Spring das java.util.Date-Feld eines Modells nicht überprüfen kann?

8

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%     
Dave 25.03.2013, 18:28
quelle

6 Antworten

6

Siehe: Spring @ Valid-Validator wurde nicht ordnungsgemäß aufgerufen (Roo, Hibernate ) .

Kurzgeschichte ändert die Controller-Methodensignatur von

%Vor%

bis

%Vor%

hat alles repariert.

    
Dave 04.04.2013, 21:39
quelle
5

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

suchen können

if (bindingResult.hasErrors()) {

und ergreifen Sie die entsprechenden Maßnahmen.

    
Teja Kantamneni 25.03.2013 18:36
quelle
1

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%     
Tiarê Balbi 03.04.2013 17:16
quelle
0

Kommentieren Sie eine Methode für diese Controller-Klasse mit dieser Annotation auf Klassen- / Methodenebene:

%Vor%

mehr info

    
Hamid Samani 30.03.2013 02:54
quelle
0
%Vor%

Sie können diesen Link für mehr sehen Ссылка Ссылка

    
abishkar bhattarai 03.04.2013 11:17
quelle
0

BindingResult-Argument sollte neben dem zu validierenden Modell sein. ZB

%Vor%     
Robin 13.01.2015 17:55
quelle