!887 v6-dev-add-validateThrowException

* Merge remote-tracking branch 'origin/v6-dev' into v6-dev-add-validateT…
* ValidationUtil:新增 validateThrowException方法
This commit is contained in:
dazer007 2022-12-05 15:18:14 +00:00 committed by Looly
parent e75f4617aa
commit edfe694d54

View File

@ -2,10 +2,7 @@ package cn.hutool.extra.validation;
import cn.hutool.extra.validation.BeanValidationResult.ErrorMessage;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import jakarta.validation.*;
import java.util.Set;
@ -52,6 +49,22 @@ public class ValidationUtil {
return validator.validate(bean, groups);
}
/**
* 校验对象,校验不通过直接抛出给调用者
* 说明如果Bean对象内部有非基本类型对象需要把内部对象取出进行手动多次调用,本方法
* @param object 待校验对象
* @param groups 待校验的组
* @throws ValidationException 校验不通过则报 ValidationException 异常调用者进行捕获直接响应给前端用户
*/
public static void validateThrowException(Object object, Class<?>... groups)
throws ValidationException {
Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
if (!constraintViolations.isEmpty()) {
ConstraintViolation<Object> constraint = constraintViolations.iterator().next();
throw new ValidationException(constraint.getMessage());
}
}
/**
* 校验bean的某一个属性
*