如何使用springboot创建到验证器的自定义消息

时间:2018-10-06 14:58:04

标签: java spring-boot spring-data-jpa

如何为验证器创建自定义消息?

我上课

@Size(min = 1,组= {Ato.Validar.class,Ato.Salvar.class}) 清单名称;

但是我不想在everty注释中添加message =“”,因此我在资源/语言环境中创建了一个messages_pt_BR.properties

创建课程:

@Configuration
public class LocaleConfiguration {

    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver localeResolver = new SessionLocaleResolver();
        Locale.setDefault(new Locale("pt","BR"));
        localeResolver.setDefaultLocale(new Locale("pt","BR"));
        return localeResolver;
    }

    @Bean
    public ReloadableResourceBundleMessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("classpath:locale/messages");
        messageSource.setCacheSeconds(3600); //refresh cache once per hour
        return messageSource;
    }
}

我尝试使用的messages_pt_BR.properties:

Size=my custom message
Size.myClass.name=my custom message 
Size.myClass.Name=my custom message

然后在我的控制器中输入:

public void myMethod(@RequestBody @Validated({Ato.Salvar.class}) MyObjectClass myObject)

但是,如果我发布且MyObjectClass没有name属性或一个空数组,则sprinboot返回默认消息(以我的语言pt_Br为例),但返回默认消息。

0 个答案:

没有答案