Hibernate Validator在实际项目中的应用

来源:互联网 发布:软件世界 杂志 编辑:程序博客网 时间:2024/06/07 04:54

校验接口金额(19,2)格式的正则表达式  "([0]\\.\\d{1,2})|([1-9](\\d){0,18}(\\.\\d{1,2}))"


@Null    被注释的元素必须为 null

@NotNull:不能为null,但可以为empty

@AssertTrue    被注释的元素必须为 true

@AssertFalse    被注释的元素必须为 false

@Range    被注释的元素必须在合适的范围内

@NotEmpty:不能为null,而且长度必须大于0

@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0

@Email :  被注释的元素必须是电子邮箱地址

@Length(min=, max=)被注释的字符串的大小必须在指定的范围内

@Range(min=, max=)被注释的元素必须在合适的范围内

@Pattern(value)被注释的元素必须符合指定的正则表达式

@Size(max, min) 被注释的元素的大小必须在指定的范围内

@DecimalMin(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@DecimalMax(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@Min(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@Max(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值


public class ValidateUtil {

    public static <T> void validate(T t) {

        if (null == t) {
            throw new ValidateException(RespCodeEnum.E1000.getRespCode(), "参数为空");
        }

        List<String> errorList = new ArrayList<String>();

        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        Validator validator = factory.getValidator();

        Set<ConstraintViolation<T>> constraintViolations = validator.validate(t);

        for (ConstraintViolation<T> constraintViolation : constraintViolations) {
            errorList.add(constraintViolation.getMessage());
        }

        if (null != errorList && !errorList.isEmpty()) {
            throw new ValidateException(RespCodeEnum.E1001.getRespCode(), errorList.toString());
        }

    }

}

原创粉丝点击