1.Config文件内容
@Bean
public ReloadableResourceBundleMessageSource messageSource(){
ReloadableResourceBundleMessageSource msg = new ReloadableResourceBundleMessageSource();
msg.setDefaultEncoding("UTF-8");
msg.setBasenames("classpath:validationMessages");
return msg;
}
@Bean
public LocalValidatorFactoryBean validator(){
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource());
return validator;
}
@Override #非常关键!!!
public org.springframework.validation.Validator getValidator() {
return validator();
}
2.Controller文件
public JsonDto show( @Validated({ ValidateGroup.Group1.class }) BabyForm babyForm, BindingResult rs)
为什么用Validated?因为有分组验证功能!同样的Entity,在不同的方法中需要验证的对象不同,这时候就需要分组了。
3.BabyForm文件
@NotNull(message="{Form.birthDate.null}", groups = { Validate.Group2.class })
private String[] birth;
@NotNull(message="{Form.updateTime.null}", groups = { Validate.Group1.class })
private String[] update;
4.ValidateMessages文件
Form.updateTime.null=需要更新日期信息。
Form.birthDate.null=需要生日信息。