smart-validate- 轻量级服务端校验框架

网友投稿 821 2022-10-23

smart-validate- 轻量级服务端校验框架

smart-validate- 轻量级服务端校验框架

smart-validator

轻量级服务端校验框架

支持注解、功能齐全、使用简便

一、功能简介

主要提供便捷的后台数据校验功能,支持单个字段或参数校验,也支持通过注解校验对象,用法简单。提供基本的非空、长度、大小等校验方法,也提供一些特殊的正则校验、身份证、电话、邮箱、IP等校验方法。

二、用法介绍

目前提供以下校验方法,支持后续持续扩展

注解说明
NotNull非空校验
Max最大值校验
Min最小值校验
MaxLength最大长度校验,支持集合、数组长度校验
MinLength最大长度校验,支持集合、数组长度校验
IdCard身份证校验
Email邮箱格式校验
Phone手机号校验
IPIP地址校验
Chinese中文校验
English英文校验
Regex自定义正则校验
Date日期格式校验

1. 单个参数验证

ValidateUtils.is("a").notNull();ValidateUtils.is("test").maxLength(20).minLength(4);ValidateUtils.is(50).min(20).max(60);

通过and()支持连写(连写直接切换校验对象)

ValidateUtils.is("a").notNull().and("test").maxLength(20).minLength(4).and(50).min(20).max(60);

支持自定义错误信息

ValidateUtils.is("test").maxLength(20,"最大长度不能超过20个字").minLength(4,"最小长度不能少于4个字");

2. 校验整个对象(通过注解)

在类的属性上定义注解,同时支持自定义错误信息

public class User { @NotNull(msg = "姓名不能为空") @MaxLength(value = 20,msg = "姓名不能超过20个字") private String name; private Date birthday; @IdCard private String idcard; @Max(30) @Min(12) private int age; @Email @MaxLength(50) private String email; @Phone private String phone; @Regex("[1-9]([0-9]{5,11})") private String qq; //get... set..}

然后调用ValidateUtils.check()方法即可

try { //.... ValidateUtils.check(user); //.....}catch (ParamsException e){ throw e;}catch (Exception e){ //...}

同样支持连写

ValidateUtils.check(user).and("2017-06-05").date("yyyy-MM-dd");

3.校验不通过时处理

校验不通过会抛出ParamsException(运行时异常)

使用时一般不需要特殊处理,由于后台校验是安全性校验,一般用于拦截非法操作,所以不用友好提示,所以推荐不做任何捕获或者特殊处理,如外层有catch,建议单独捕获后向上抛出。如果想做异常捕获,也可以自行在代码中添加try/catch(不推荐),或者添加全局的-捕获该类异常。

三、部署说明

获取最新版本的jar包即可--,然后添加进项目的依赖库中。项目使用maven构建,也可以-源码自行编译

第三方库依赖如下,一般项目都有使用

1.7.13 2.6 3.2.2 1.9.3 org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-log4j12 ${slf4j.version} commons-lang commons-lang ${commons.lang.version} commons-collections commons-collections ${commons.collections.version} commons-beanutils commons-beanutils ${commons.beanutils.version}

欢迎使用其他系列产品

melon-idfactory 传送门

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Maven构建忽略测试失败的解决方案
下一篇:多分支合作的时候,每天拉取主分支的最新代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~