HibernateValidators

public final class HibernateValidators {

 

    private static final Validator VALIDATOR;

 

    private HibernateValidators() {

    }

 

    static {

        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();

        VALIDATOR = factory.getValidator();

    }

 

 

    public static <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups) {

        return VALIDATOR.validate(object, groups);

    }

 

    /**

     * @throws IllegalArgumentException 当校验有错误的时候抛出异常

     */

    public static <T> void throwsIfInvalid(T object, Class<?>... groups) {

        final Set<ConstraintViolation<T>> constraintViolations = validate(object, groups);

        if (!constraintViolations.isEmpty()) {

            final ImmutableMap.Builder<String, String> errorBuilder = ImmutableMap.builder();

            for (ConstraintViolation<T> violation : constraintViolations) {

                errorBuilder.put(violation.getPropertyPath().toString(), violation.getMessage());

            }

            throw new IllegalArgumentException(errorBuilder.build().toString());

        }

    }

}

上一篇:利用Python对QQ群进行爬虫,只有你想不到的,没有Python做不到的


下一篇:VBA管理filezilla 之用户组及共享目录权限批量代码