smart-validate 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
smart-validate 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 国产
提 交 者 FutureElement
适用人群 未知
收录时间 2017-12-14

软件简介

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 传送门

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
这个可以 不用引用hibernate了
2017/12/14 17:21
回复
举报
更多评论
暂无内容
发表了博客
2018/05/08 09:53

Validate

jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 ...

0
0
发表了博客
2018/07/18 11:22

validate

package com.brx.utils; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.brx.exception.ParamException; import org.apache.commons.collections.MapUtils; import javax.validation.ConstraintViolation; import javax.val...

0
0
发表了博客
2019/04/06 11:39

django def validate_column和validate

VIewDemo class RegUserSet(mixins.CreateModelMixin,viewsets.GenericViewSet): serializer_class = RegUserSerializer # queryset = User.objects.all() SerializerDemo class RegUserSerializer(serializers.ModelSerializer): code = serializers.CharField(required=True, max_length=10, write_onl...

0
0
发表了博客
2019/12/05 16:56

Validate使用

第一节 validate插件 1.1 validate概述 validate:jQuery的一个插件,依赖jQuery使用, validate是历史最悠久的jQuery插件之一, 经过了全球范围内不同项目的验证, 并得到了许多Web开发者的好评, 作为一个标准的验证方...

0
0
发表于大前端专区
2015/09/08 21:41

Jquery validate

Jquery validate 自定义

0
2
发表于开发技能专区
2015/01/27 08:41

validate的使用

validate验证的使用

0
1
发表于大前端专区
2016/11/15 10:42

Jquery Validate

//定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件”, url: “请输入合法的网址”, date: “请输入合法的日期”, dateISO: “请输入合法的日期 (ISO).”, number: “请输入合法的数字”, digits: “只能输入整数”, creditcard: “请输入合法的信用卡...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
1 评论
17 收藏
分享
返回顶部
顶部