-
定义两个分组接口GroupDefaultOne、GroupDefaultTwo,接口可以继承javax.validation.groups.Default 类,也可以不继承。
如果 继承 那么当校验分组的时候,会自动校验没有带分组的参数注解,如@NotNull(message = "xxxx不能为Null")
如果 不继承 那么当校验分组的时候,只会校验带了对应分组的参数。 -
手动校验与自动校验。
自动校验:可以在controller方法层加上对应的注解,如:@Validated(GroupDefaultOne.class)
手动校验:
private static final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<T>> validate = validator.validate(object, groups);
if (!validate.isEmpty()) {
for (ConstraintViolation<T> violation : validate) {
String message = StrUtil.format("{}{}", violation.getPropertyPath(), violation.getMessage());
ExceptionUtils.throwBusiness(message);
}
}
标签:violation,spring,校验,分组,message,validation,validate
From: https://www.cnblogs.com/kangyu222/p/17410050.html