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

码农软件 · 软件分类 · 服务框架/平台 · 2019-09-25 12:14:48

软件介绍

smart-validator

轻量级服务端校验框架

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

一、功能简介

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

二、用法介绍

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

注解 说明
NotNull 非空校验
Max 最大值校验
Min 最小值校验
MaxLength 最大长度校验,支持集合、数组长度校验
MinLength 最大长度校验,支持集合、数组长度校验
IdCard 身份证校验
Email 邮箱格式校验
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 传送门

 

本文地址:https://codercto.com/soft/d/15365.html

数学建模算法与应用

数学建模算法与应用

司守奎、孙玺菁 / 国防工业出版社 / 2011-8 / 49.00元

《数学建模算法与应用》主要内容简介:作者司守奎、孙玺菁根据多年数学建模竞赛辅导工作的经验编写《数学建模算法与应用》,涵盖了很多同类型书籍较少涉及的新算法和热点技术,主要内容包括时间序列、支持向量机、偏最小二乘面归分析、现代优化算法、数字图像处理、综合评价与决策方法、预测方法以及数学建模经典算法等内容。《数学建模算法与应用》系统全面,各章节相对独立。《数学建模算法与应用》所选案例具有代表性,注重从不......一起来看看 《数学建模算法与应用》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具