Zusammenfassung
Meine App führt eine benutzerdefinierte Feldvalidierung durch und fügt einen FieldError hinzu, dessen Nachrichtenschlüssel nicht richtig übersetzt wird. Stattdessen wird der einfache i18n-Schlüssel angezeigt.
Details
Da andere Teile der Anwendung ordnungsgemäß lokalisiert sind und die standardmäßigen Bean-/Hibernate-Validierungsfehlermeldungen korrekt sind transportiert Ich bin mir nicht sicher, ob ich den falschen i18n-Schlüssel definiere oder ob ein allgemeines Problem mit der Kombination von Thymeleaf und Spring Boot vorliegt.
Spring Boot Controller
@PostMapping("/register")
public ModelAndView processRegisterForm(
@Valid @ModelAttribute("register") final RegistrationForm form,
final BindingResult result,
final RedirectAttributes redirectAttributes) {
result.addError(new FieldError("register", "captcha", "wrongcaptcha"));
return new ModelAndView("selfservice.html");
}
< /code>
Thymeleaf -Vorlage < /h2>
< /code>
Der Nachrichtenschlüssel "WrongCaptcha" wird anstelle des definierten i18n.properties -Elements gerendert. Standardfehlermeldungen wie Größenrestriktionen werden ordnungsgemäß übersetzt und die Gesamtanwendung wird ebenfalls übersetzt (daher ist es kein allgemeines Problem von i18n in der App selbst). Lokalisierung Ich habe mehrere Kombinationen von Eigenschaftstasten für i18n ohne Erfolg ausprobiert, z. .Wongcaptcha < /li>
WrongCaptcha < /li>
captcha.wrongcaptcha>
< /ul>
Danke für jeden Hinweis oder Hilfe, wie Sie eine benutzerdefinierte Fehlermeldung in der Benutzeroberfläche erhalten.
Die benutzerdefinierte Fielderror -Fehlermeldung wird nicht übersetzt und der I18N -Schlüssel wird stattdessen in Thymel ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post