开箱即用系列-工具包-自定义验证框架

验证框架使用说明
功能点说明
1.支持所有hibernate-validate注释(不建议使用).
2.支持自定义校验,自定义错误信息
3.支持指定几个字段校验,其他字段不校验.
4.支持多个字段,混合规则校验.
设计初衷
1.非空校验,包含对象和字符串的判断.
2.复杂校验,可以自定义,并且独立于业务代码之外.
3.一个字段可以支持多种校验规则.
maven依赖
jdk版本:1.7
spring版本:4.2.5.RELEASE
springboot版本:1.3.3.RELEASE
jar包版本:
<dependency>
  <groupId>com.bruce.tool</groupId>
  <artifactId>tool-validate-hibernate</artifactId>
  <version>1.0.0-SNAPSHOT</version>
</dependency>
使用样例-非空校验
在类的属性,或者方法的参数上增加@Function注解;
标识当前属性或者参数,有非空校验逻辑:
public class Return implements Serializable {
    @Function
    private Integer id;
    @Function
    private String no;
}
非空校验,支持字符串和非字符串的数据对象(非封装类型的基础数据类型,不支持非空校验)
使用样例-自定义校验
使用代码:
public class Return implements Serializable {
    @Function
    private Integer id;
    @Function(value = Email.class,message = Email.ERROR)
    private String email;
}
使用要求:
1.Email属于自定义校验规则类,需要实现com.bruce.tool.validate.hibernate.core.Validator<T>接口
2.校验规则和错误提示,都在Email中实现.
使用样例-自定义-分组校验
使用代码:
public class Return implements Serializable {
    @Function(value = Email.class,message = Email.ERROR,groups = Two.class)
    private Integer id;
    @Function(value = Email.class,message = Email.ERROR,groups = Two.class)
    private String email;
}
使用要求:
1.在自定义校验基础上,增加groups配置即可,groups配置属于hibernate-validate基础功能.
使用样例-自定义-复杂校验
样例代码:
@Groups({
    @Group(value = UserInfo.class,message = UserInfo.ERROR),
    @Group(value = LoginInfo.class,message = LoginInfo.ERROR)
})
public class Return implements Serializable {
    private Integer id;
    private String email;
}
使用要求:
1.UserInfo以及LoginInfo需要实现com.bruce.tool.validate.hibernate.core.Validator<T>接口
2.实现的时候需要将泛型制定为具体的domain,如下:
public class UserInfo implements Validator<Return> {
    public static final String ERROR = "用户信息不完整";
    @Override
    public boolean execute(TruckReturn value) {
        // 这里实现多个字段的校验逻辑
        return false;
    }
}
注意事项
1.使用自定义校验的时候,如果同时需要做非空校验,可以有2中实现方式:
    a.属性上增加@NotNull注解.
    b.规则实现类中(比如UserInfo.class),自己实现非空判断.
2.因为正则表达式比较容易出现性能问题,因此不建议在设计校验规则的时候,使用复杂正则.
3.限制,一个复杂校验的对象(比如Email.class中)只支持一个错误信息.
补充说明
基于SpringMVC的配置,和基于Springboot的配置,后续补充.
仓库地址:https://gitee.com/marryself/tool-validate
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值