Spring Hibernate Validator自定义MessageSource

时间:2015-01-17 12:16:48

标签: spring hibernate validation hibernate-validator spring-java-config

这是我的第一个问题,所以请温柔地对待我:)

我正在使用Spring Boot,HIbernate Validator而不使用XML-config

我想让我的Hibernate Validator从我的messages_xx_XX.properties文件中读取错误消息。为了实现这一点,我以下面的方式使用了Java配置,但它不起作用:

@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("home");
        registry.addViewController("/login").setViewName("login");
        registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
    }

    @Override
    public Validator getValidator() {
        return validator();
    }

    @Bean(name = "validator")
    public LocalValidatorFactoryBean validator() {
        LocalValidatorFactoryBean localValidatorFactoryBean = new LocalValidatorFactoryBean();
        localValidatorFactoryBean.setValidationMessageSource(messageSource());
        return localValidatorFactoryBean;
    }

    @Bean(name = "messageSource")
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource = new ReloadableResourceBundleMessageSource();
        reloadableResourceBundleMessageSource.setBasename("classpath:messages/messages");
        reloadableResourceBundleMessageSource.setDefaultEncoding("UTF-8");
        reloadableResourceBundleMessageSource.setCacheSeconds(-1);
        return reloadableResourceBundleMessageSource;
    }
}

我的普通Spring消息正常工作,但我的ValidatorMessages的输出格式为{errorMessage}。

我在网上尝试了很多解决方案,但对我来说没有任何效果。 我希望你们能帮助我。

修改 将所有邮件放在一个文件中的想法来自这篇文章:http://www.silverbaytech.com/2013/04/16/custom-messages-in-spring-validation/ 我像他一样做了一切,但仍然没有运气。

0 个答案:

没有答案