Bei der Validierung mit Spring Boot lautet die Standardfehlermeldung Englisch.
Meinotto Bienputi. Perapera.
Ich mache eine App für Japaner, also möchte ich sie japanisch machen. Die Japanisierung selbst ist möglich, indem eine Datei mit dem Namen ValidationMessages.properties erstellt und Fehlermeldungen definiert werden. Die Eigenschaftendatei erfordert jedoch eine Unicode-Konvertierung, sodass sie nicht live gelesen werden kann.
org.hibernate.validator.constraints.NotEmpty.message = \u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
Es gibt auch eine Methode zur Unterstützung mit einem IDE-spezifischen Plug-In, aber dieses Mal habe ich versucht, UTF8 auf der Spring Boot-Seite zu akzeptieren.
Übrigens können in UTF8 geschriebene ValidationMessages.properties vom Editor gelesen werden, aber wenn sie auf dem Bildschirm angezeigt werden, wird der japanische Teil wie folgt verstümmelt.
Unten habe ich Kommentare zu den Unterschieden zwischen Spring Boot-Versionen erhalten, daher werde ich sie erfassen!
Spring Boot 2.1
Mit Spring Boot 2.1 war es möglich, auf UTF-8 zu konvertieren, ohne etwas Besonderes zu tun. Die JDK-Version muss 11 sein.
Spring Boot 1.5.3
Ich habe es mit Spring Boot 1.5.3 versucht, aber es scheint, dass beim Überschreiben des öffentlichen Validators getValidator () ein Fehler auftritt. (Der Fehlerinhalt entspricht dem in der Referenz-URL angezeigten.) Wenn ich stattdessen die Bean von mvcValidator gesetzt habe, hat es funktioniert!
Vielen Dank an alle, die mich unterrichtet haben: bow_tone1:
Überschreiben Sie getValidator von WebMvcConfigurerAdapter. Es war nur.
WebMvcConfig.java
WebMvcConfig.java
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/*・ ・ ・ Nicht verwandte Einstellungen weglassen ・ ・ ・*/
/**
*Validierungsnachricht UTF-Mit 8 einstellen lassen
*/
@Override
public Validator getValidator() {
return validator();
}
@Bean
public LocalValidatorFactoryBean validator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource());
return validator;
}
private MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
//Sie können auch den Namen und das Verzeichnis der Eigenschaftendatei ändern
messageSource.setBasename("classpath:/ValidationMessages");
//UTF-Auf 8 setzen
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
ValidationMessages.properties
ValidationMessages.properties
org.hibernate.validator.constraints.NotEmpty.message=Bitte eingeben.
Ich kann es lesen. Du kannst es lesen.
Hyahoi: entspannt:
Spring Framework Documentation
Ende