JAX-RS Bean 验证错误消息国际化
JAX-RS Bean Validation Error Message Internationalization
我有一个 SpringBoot 应用程序。用豆子机智这个 属性:
@Positive(message = "{signup.form.error.city.missing}")
private Long regionId;
但如果出现错误,我会在浏览器上看到:
{signup.form.error.city.missing}
不是 属性 文件的值
要在属性文件中使用自定义名称消息,您需要定义 LocalValidatorFactoryBean
并注册 messageSource
:
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
@Configuration
public class WebMvcConfiguration {
private final MessageSource messageSource;
public WebMvcConfiguration(MessageSource messageSource) {
this.messageSource = messageSource;
}
@Bean
public LocalValidatorFactoryBean getValidator() {
LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean();
bean.setValidationMessageSource(messageSource);
return bean;
}
}
它现在会看到您在 property
文件中定义的值。
我有一个 SpringBoot 应用程序。用豆子机智这个 属性:
@Positive(message = "{signup.form.error.city.missing}")
private Long regionId;
但如果出现错误,我会在浏览器上看到:
{signup.form.error.city.missing}
不是 属性 文件的值
要在属性文件中使用自定义名称消息,您需要定义 LocalValidatorFactoryBean
并注册 messageSource
:
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
@Configuration
public class WebMvcConfiguration {
private final MessageSource messageSource;
public WebMvcConfiguration(MessageSource messageSource) {
this.messageSource = messageSource;
}
@Bean
public LocalValidatorFactoryBean getValidator() {
LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean();
bean.setValidationMessageSource(messageSource);
return bean;
}
}
它现在会看到您在 property
文件中定义的值。