你还在用if…else…校验前端传来的参数吗?还在用代码校验参数吗?如果是的话那么你们项目校验这块不是很完美。
小编这里分享通过注解校验参数,告别if…else…的时代来了!!!
本篇主要讲解Javax ValidationI注解校验架构,简单、方便、入门快,方便扩展且扩展简单,适合第一次使用注解校验的小伙伴。
如果是Spring项目那么这个架构依赖会自动引用,如果是非Spring项目得手动引用一下依赖。本文以Spring项目为主:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.16.Final</version>
<scope>compile</scope>
</dependency>
这是注解包里面元素:
- @AssertFalse
被注释的元素必须为 false
- @AssertTrue
被注释的元素必须为 true
- @DecimalMax(value)
被注释的元素必须是一个数字,其值必须小于等于指定的最大值
- @DecimalMin(value)
被注释的元素必须是一个数字,其值必须大于等于指定的最小值
- @Digits (integer, fraction)
被注释的元素必须是一个数字,其值必须在可接受的范围内
- @Email
被注释的元素必须是电子邮箱地址
- @Future
被注释的元素必须是一个将来的日期
- @Max(value)
被注释的元素必须是一个数字,其值必须小于等于指定的最大值
- @Min(value)
被注释的元素必须是一个数字,其值必须大于等于指定的最小值
- @NotBlank
验证注解的元素值不为空(不为null并去除首尾位空格)
- @NotEmpty
验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
- @NotNull
不为null
- @Null
为null
- @Past
限制必须是一个过去的日期
- @Pattern(value)
限制必须符合指定的正则表达式
- @Size(max,min) `B限制字符长度必须在min到max之间
验证规则
- 在Spring项目中定义一个需要验证的model内容如下:
@Data
public class ValidatorModel {
@NotBlank(message = "姓名不能为空")
private String name;
@Size(min = 3, max = 6</