Validation非Controller层验证
原创
©著作权归作者所有:来自51CTO博客作者代码不是马的原创作品,请联系作者获取转载授权,否则将追究法律责任
Validation非Controller层验证
直接上代码
public class ValidationUtils {
private static final Validator validator;
static {
validator = Validation.buildDefaultValidatorFactory().getValidator();
}
/**
* 校验对象
*
* @param object 待校验对象
* @param groups 待校验的组
* @throws IllegalArgumentException 校验不通过,则报业务异常
*/
public static void validateEntity(Object object, Class<?>... groups) throws IllegalArgumentException {
Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
if (!constraintViolations.isEmpty()) {
String msg = constraintViolations.stream().map(ConstraintViolation::getMessage).collect(Collectors.joining("、"));
throw new IllegalArgumentException(msg);
}
}
}
该方法是非线程安全的多线程下慎用