springBoot验证注解

作者: gu_lao_rou-p 分类: springBoot 发布时间: 2022-02-09 14:13

引入maven:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>23.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.projectreactor</groupId>
        <artifactId>reactor-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

写法:

@Data
public class User {
    private String id;
    @NotBlank(message = "用户名不能为空")
    private String username;
    @NotBlank(message = "密码不能为空")
    private String password;
    @Email(message = "Email格式错误")
    private String email;
    @PastOrPresent(message = "日期小于等于当前时间")
    private Date birthday;
    @Pattern(regexp = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$"
            , message = "手机号格式错误")
    private String phone;
    @Min(value = 0, message = "年龄超出范围,最小值为0")
    @Max(value = 120, message = "年龄超出范围,最大值为120")
    private Integer age;
}

验证注解:

注解描述
@AssertFalse所注解的元素必须是Boolean类型,且值为false
@AssertTrue所注解的元素必须是Boolean类型,且值为true
@DecimalMax所注解的元素必须是数字,且值小于等于给定的值
@DecimalMin所注解的元素必须是数字,且值大于等于给定的值
@Digits所注解的元素必须是数字,且值必须是指定的位数
@Future所注解的元素必须是将来某个日期
@Max所注解的元素必须是数字,且值小于等于给定的值
@Min所注解的元素必须是数字,且值小于等于给定的值
@Range所注解的元素需在指定范围区间内
@NotNull所注解的元素值不能为null
@NotBlank所注解的元素值有内容
@Null所注解的元素值为null
@Past所注解的元素必须是某个过去的日期
@PastOrPresent所注解的元素必须是过去某个或现在日期
@Pattern所注解的元素必须满足给定的正则表达式
@Size所注解的元素必须是String、集合或数组,且长度大小需保证在给定范围之内
@Email所注解的元素需满足Email格式

注意⚠️:

1.其中 ,username与password属性必传而其他属性没有限制

2.注解中的message属性会在校验失败抛出异常时赋给defaultMessage属性

注意⚠️:

须在controller层填写注解@Valid,不然不会运行以上注解

Controller层:

@GetMapping("/register")
    //@Valid在下一行
    public R register(@Valid UserInfo req){
        R r = new R();
        r.setData(userService.register(req));
        return r;
    }

原网址:https://my.oschina.net/u/3773384/blog/1795869


Warning: Undefined variable $aria_req in /www/wwwroot/l.lvovl.cn/wp-content/themes/JieStyle-Two-master/comments.php on line 26

Warning: Undefined variable $aria_req in /www/wwwroot/l.lvovl.cn/wp-content/themes/JieStyle-Two-master/comments.php on line 27

Warning: Undefined variable $aria_req in /www/wwwroot/l.lvovl.cn/wp-content/themes/JieStyle-Two-master/comments.php on line 28
标签云