package com.landtool.lanbase.common.validator; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import com.landtool.lanbase.common.exception.LanbaseException; /** * 参考文档:http://docs.jboss.org/hibernate/validator/5.4/reference/en-US/html_single/ * @author lanbase * @Description: TODO(hibernate-validator校验工具类) * @date 2017-6-23 15:07 */ public class ValidatorUtils { private static Validator validator; static { validator = Validation.buildDefaultValidatorFactory().getValidator(); } /** * 校验对象 * @param object 待校验对象 * @param groups 待校验的组 * @throws LanbaseException 校验不通过 */ public static void validateEntity(Object object, Class... groups) throws LanbaseException { Set> constraintViolations = validator.validate(object, groups); if (!constraintViolations.isEmpty()) { StringBuilder msg = new StringBuilder(); for(ConstraintViolation constraint: constraintViolations){ msg.append(constraint.getMessage()).append("
"); } throw new LanbaseException(msg.toString()); } } }