java后端校验_如何实现Java后端数据校验?看这篇就⾜够!
前⾔
每次我们在搭建⼀个开源项⽬的⾸要任务包括:项⽬的统⼀异常处理、统⼀结果封装以及做项⽬的数据校验,在前后端分离的情况下,不仅前端需要做数据校验,同样后端也要实现,前端主要使⽤⼀些类似与jQuery Validate等js/css插件实现通过数据校验,⽐如:bootstrap-validator,⽽后端主要使⽤的是Hibernate Validator检验框架,通过数据校验,我们能避免⽤户借助⼀些HTTP请求⼯具直接向后端发送⼀些不合法的数据请求,本⽂将⼊如何在Spring/Spring Boot下实现后端的数据校验。
Hibernate Validator
常见注解
注解
⽤途
Valid
递归的对关联的对象进⾏校验
AssertFalse
⽤于boolean字段,该字段的值只能为false
AssertTrue
⽤于boolean字段,该字段只能为true
DecimalMax(value)
被注释的元素必须是⼀个数字,只能⼤于或等于该值
DecimalMin(value)
被注释的元素必须是⼀个数字,只能⼩于或等于该值
Digits(integer,fraction)
检查是否是⼀种数字的(整数,⼩数)的位数
Future
检查该字段的⽇期是否是属于将来的⽇期
FutureOrPresent
判断⽇期是否是将来或现在⽇期
Past
检查该字段的⽇期是在过去
PastOrPresent
判断⽇期是否是过去或现在⽇期
Max(value)
该字段的值只能⼩于或等于该值
Min(value)
该字段的值只能⼤于或等于该值
Negative
判断负数
NegativeOrZero
判断负数或0
Positive
判断正数
PositiveOrZero
判断正数或0
NotNull
不能为null
Null
必须为 null
Pattern(value)
被注释的元素必须符合指定的正则表达式
Size(max, min)
检查该字段的size是否在min和max之间,可以是字符串、数组、集合、Map等Length(max, min)
判断字符串长度
CreditCardNumber
被注释的字符串必须通过Luhn校验算法,银⾏卡,信⽤卡等号码⼀般都⽤Luhn计算合法性Email
被注释的元素必须是电⼦邮箱地址
Length(min=, max=)
被注释的字符串的⼤⼩必须在指定的范围内
NotBlank
只能⽤于字符串不为null,并且字符串trim()以后length要⼤于0
NotEmpty
集合对象的元素不为0,即集合不为空,也可以⽤于字符串不为null
Range(min=, max=)
被注释的元素必须在合适的范围内
SafeHtml
classpath中要有jsoup包
ScriptAssert
bootstrap检验方法要有Java Scripting API 即JSR 223("Scripting for the JavaTMPlatform")的实现
URL(protocol=,host=,port=,regexp=,flags=)
被注释的字符串必须是⼀个有效的url
Maven依赖
org.hibernate.validator
hibernate-validator
6.1.0.Final
org.hibernate.validator
hibernate-validator
6.1.0.Final
org.springframework.boot
spring-boot-starter-web
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。