smart-validate轻量级服务端校验框架
smart-validator
轻量级服务端校验框架
支持注解、功能齐全、使用简便
一、功能简介
主要提供便捷的后台数据校验功能,支持单个字段或参数校验,也支持通过注解校验对象,用法简单。
提供基本的非空、长度、大小等校验方法,也提供一些特殊的正则校验、身份证、电话、邮箱、IP等校验方法。
二、用法介绍
目前提供以下校验方法,支持后续持续扩展
注解 | 说明 |
---|---|
NotNull | 非空校验 |
Max | 最大值校验 |
Min | 最小值校验 |
MaxLength | 最大长度校验,支持集合、数组长度校验 |
MinLength | 最大长度校验,支持集合、数组长度校验 |
IdCard | 身份证校验 |
邮箱格式校验 | |
Phone | 手机号校验 |
IP | IP地址校验 |
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 传送门
评论
Jquery-Lweight-validate轻量级校验框架
jquery-Lweight-Validate:轻量级校验框架。之所以这么称呼它。原因很简单,与其他校验框架相比,次框架没有太多的JS代码在你的HTML中,仅仅一行,其他所有的校验属性,均通过框架中自
Jquery-Lweight-validate轻量级校验框架
0
lightning4j服务端轻量级开发框架
lightning4j 是一个基于Netty网络库的java服务端轻量级开发框架,用于快速开发手游,页游等服务端程序,使用WebSocket通信协议,支持mysql,redis,连接池,全局定时任务,
lightning4j服务端轻量级开发框架
0
jforgame轻量级手游服务端框架
jforgame,一个用java编写的轻量级手游服务端框架。项目只使用简单的业务功能作为演示,主要提供各种支持游戏快速开发的组件,以及对生产环境的服务进行管理的工具。该框架吸取了笔者参与的众多手游项目
jforgame轻量级手游服务端框架
0
RedstoneDart 服务端框架
Redstone是一个Dart用来开发服务器端应用的元数据驱动微框架。Redstone.dart可以让你轻松的通过Web接口来发布函数和类,例如:import 'package:redstone/se
RedstoneDart 服务端框架
0