In meiner Spring Boot App habe ich eine Backing Bean, wo ich die JSR303-Validierung verwende. In der Annotation habe ich den Nachrichtencode angegeben:
%Vor%Dann habe ich in meiner message.properties angegeben:
%Vor%Meine JavaConfig für die messageSource lautet:
%Vor%Die Validierung funktioniert korrekt, aber anstatt die tatsächliche Zeichenfolge zu sehen, erhalte ich den Nachrichtencode auf meiner JSP-Seite. Beim Betrachten der Protokolldatei sehe ich eine Reihe von Codes:
%Vor%Wenn ich den Nachrichtencode in den message.properties in einen der Codes im Array ändere, wird die Zeichenfolge in meinem Webformular korrekt angezeigt. Ich musste den Code in der Annotation nicht einmal ändern. Dies deutet darauf hin, dass der Code im Message-Parameter der Annotation ignoriert wird.
Ich möchte den Standardcode nicht verwenden. Ich möchte meine eigenen benutzen. Wie kann ich das machen? Können Sie bitte ein Codebeispiel angeben?
Laut der JSR-303-Spezifikation werden Nachrichtenparameter in ValidationMessages.properties
-Dateien gespeichert . Aber Sie können den Ort, an dem sie gesucht werden, außer Kraft setzen.
Sie haben also zwei Möglichkeiten:
ValidationMessages.properties
-Datei Oder überschreibe getValidator()
Methode des Nachkommens von WebMvcConfigurerAdapter
( JavaConfig
in deinem Fall):
Tags und Links spring-boot bean-validation