HibernateValidators

本文介绍了一个用于Java的Hibernate校验框架的实现细节,包括如何创建验证器实例及进行对象约束验证的方法。该框架提供了静态方法来验证对象是否符合预定义的约束条件,并在验证失败时抛出异常。

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());

        }

    }

}

转载于:https://www.cnblogs.com/Struts-pring/p/10337066.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值