springboot 控制层参数校验插件
来源:互联网 发布:au软件是什么软件 编辑:程序博客网 时间:2024/06/06 04:57
源码地址: https://github.com/shi0288/check
可以把项目clone下来,直接mvn打成jar包使用。
这里可以直接下:
http://download.csdn.net/download/shi0299/10015178
mvn或gradle可以使用:
加入资源库
<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository></repositories>
<dependency> <groupId>com.github.shi0288</groupId> <artifactId>check</artifactId> <version>v1.0.0</version></dependency>
check
引入jar包:
使用样例:
@RequestMapping("ceshi")public Result test( @Check(value = "name", defaultValue = "小明") String username, @Check(value = "age", min = "18", max = "55") int age, @Check(name = "手机号", mobile = true, required = false) String mobile, @Check(name = "身份证", idCard = true, required = false) String card) { return new Result();}
说明:
* @Check包含@RequestParam原生注解的所有功能,唯一修改的是将name值当做返回提示中的字段名来使用。
* 当@RequestParam和@Check同时作用于方法参数上时,@Check不起作用,以@RequestParam为准。
注解校验参数使用:
参数名称 参数类型 功能 样例
value String 映射参数名称 @Check(value = “name”) String username
required boolean 是否必填,默认为必填 true
defaultValue String 默认值
min String 允许数字最小值,支持小数 1
max String 允许数字最大值,支持小数 10
pattern String 自定义正则表达式 ^[A-Za-z]+$
name String 提示字段名,返回message中体现
mobile boolean 校验是否是手机号
email boolean 校验是否是邮箱
idCard boolean 校验是否是身份证
isDecimal boolean 校验是否最多两位小数,可用作money
numOrLetter boolean 校验是否只包含数字和字母
chinese boolean 校验是否中文
ip boolean 校验是否IP格式
url boolean 校验是否URL格式
date boolean 校验是否日期 2012-12-23 23:23:23
number boolean 校验是否数字
notZero boolean 校验是否数字,且不为0
letter boolean 校验是否字母
length int 校验字符串长度
valid Class[] 自定义校验器 下边举例说明
自定义校验器:
继承BaseValidator 接口,实现 validate方法
public class TestValidator implements BaseValidator{ @Override public void validate(Check check, String s, Object o) { System.out.println(check); System.out.println(s); System.out.println(o); }}
@Check(valid = TestValidator.class) String self
其中 valid为数组,可以添加N个校验器
validate方法中参数:
check为当前参数注解对象可以获取所需信息。
s为当前参数名称。
o为当前参数值。
校验失败请自行抛出异常处理。
校验失败时,可以拦截ValidateException类型异常,可以通过异常获取BindResult对象,并从对象中拿到校验失败时的参数名,参数值及message。
- springboot 控制层参数校验插件
- Springboot学习参数校验(五)-1
- springboot控制层生成图片验证码
- spring mvc 控制层validator(校验)中文乱码
- 通用型 控制层接受参数方法
- Spring MVC 控制层处理各种参数
- SpringBoot开发详解(五)--Controller接收参数以及参数校验
- SpringBoot-Hibernate校验
- 参数校验
- springboot 使用校验框架validation校验
- springboot 使用校验框架validation校验
- springboot [组件学习-validator校验]
- springboot多数据源读写分离和主库数据源service层事务控制
- 一个简单的springboot的案例实现一个请求控制层返回一个JSON
- springboot多数据源读写分离和主库数据源service层事务控制
- springboot配置了控制器和thymeleaf引擎后,控制层返回界面不自动解析
- spring mvc控制层(controller)接收参数的问题
- [BLE--Link Layer]Link层控制之连接参数请求
- 网络编程复习(九):Netty的编解码技术
- onchange事件在IE内核下无法触发
- Andorid群英传学习——第八章、Activity与Activity调用栈分析
- C++ 智能指针
- 配置PLSQL远程连接数据库
- springboot 控制层参数校验插件
- 养成这6个编程好习惯,助你减少90%BUG
- 第四周项目6---多项式求和
- 支持向量机(三)——利用核函数得到非线性分类器
- Galaxy Note8首销告捷,传言不攻自破
- .so文件:java.lang.UnsatisfiedLinkError
- com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接。错误:“SQL
- 2015华为校招机试题
- ESP32 WIFI透传固件