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 文件中定义的值。