smart-validate 轻量级服务端校验框架开源项目

我要开发同款
匿名用户2017年12月14日
62阅读
开发技术Java
所属分类程序开发、服务框架/平台
授权协议Apache

作品详情

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.校验整个对象(通过注解)

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

publicclassUser{@NotNull(msg="姓名不能为空")@MaxLength(value=20,msg="姓名不能超过20个字")privateStringname;privateDatebirthday;@IdCardprivateStringidcard;@Max(30)@Min(12)privateintage;@Email@MaxLength(50)privateStringemail;@PhoneprivateStringphone;@Regex("[1-9]([0-9]{5,11})")privateStringqq;//get...set..}

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

try{//....ValidateUtils.check(user);//.....}catch(ParamsExceptione){throwe;}catch(Exceptione){//...}

同样支持连写

ValidateUtils.check(user).and("2017-06-05").date("yyyy-MM-dd");3.校验不通过时处理

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

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

三、部署说明

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

第三方库依赖如下,一般项目都有使用1.7.132.63.2.21.9.3org.slf4jslf4j-api${slf4j.version}org.slf4jslf4j-log4j12${slf4j.version}commons-langcommons-lang${commons.lang.version}commons-collectionscommons-collections${commons.collections.version}commons-beanutilscommons-beanutils${commons.beanutils.version}欢迎使用其他系列产品

melon-idfactory传送门

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论