在实际项目中我们通常会有大量需要对前端传参校验的需求,若对每个字段、每种规则都使用if...else...来判断会造成代码臃肿冗余度高。若想解决该问题不妨来看看下面的兩个注解:@Valid和@Validated。
相同点:均为校验注解用于简化在代码中对业务字段校验时的大量if...else...操作。
嵌套校验(Bean中包含Bean) |
分组校验(不同场景需要校验组合不同) |
1.校验注解指定 groups指定的Class必须是接口类型
2.启动校验时@Validated指定需要校驗的group,此时只会对group包含在其内的校验注解进行校验
注:未显示指定groups的校验注解也不会被执行
@NotNull 验证对象是否鈈为null, 无法查检长度为0的字符串 @NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格. 验证字符串的长度是否在给定的范围之内包含两端 数值检查:建议使用在Stirng,Integer类型,不建议使用在int类型上因为表单值为“”时无法转换为int,但可以转换为Stirng为"",Integer为null @DecimalMax 被标注的值必须不大于约束中指定的最大值. 这个约束的参数是一个通过BigDecimal定义的最大值的字符串表示.小数存在精度 @DecimalMin 被标注的值必须不小于约束中指定的朂小值. 这个约束的参数是一个通过BigDecimal定义的最小值的字符串表示.小数存在精度 @Valid递归的对关联对象进行校验, 如果关联对象是个集合或者数组,那麼对其中的元素进行递归校验,如果是一个map,则对其中的值部分进行校验.(是否进行递归验证) @Email 验证是否是邮件地址如果为null,不进行验证,算通过驗证
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。