您当前的位置: 首页 >  hibernate

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringBoot整合hibernate-validator进行参数校验

梁云亮 发布时间:2020-04-30 00:22:49 ,浏览量:2

有关hibernate-validator的语法请参考:hibernate-validator 校验规则详解

第一步:创建Maven项目,添加依赖:


    org.springframework.boot
    spring-boot-starter-web

 
    org.springframework.boot
    spring-boot-starter-validation




    org.projectlombok
    lombok
    true

第二步:创建待验证的实体类:

@Data
@ToString
public class User {
    private Integer id;

    @NotBlank(message = "用户名不能为空")
    @Length(min = 6, max = 32, message = "用户名的长度需要在6~32之间")
    private String name;

    @Past(message = "出生日期必须早于当前日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate birth;

    @Email(regexp = "^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}$", message =  "邮件格式错误")
    private String email;

    @Size(min = 11, max = 11)
    private String mobile;

    @NotNull(message = "用户等级不能为空")
    @Min(value = 0, message = "用户等级最小值为0")
    @Max(value = 6, message = "用户等级最大值为6")
    @Digits(integer = 1, fraction = 0, message = "用户等级必须为整数")
    private Integer level;
}

第三步:创建Controller

@RestController
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/add1")
    public void add1(@Valid User user) {
        System.out.println(user);
    }
    @RequestMapping("/add2")
    public void add2(@Valid User user, BindingResult result) {
        StringBuffer sb = new StringBuffer();
        if (result.hasErrors()) {
            for (FieldError fieldError : result.getFieldErrors()) {
                String message = fieldError.getDefaultMessage();
                sb.append(message+"\t");
            }
            System.out.println(sb.toString());
        } else {
            System.out.println(user);
        }
    }
}

第三步:启动项目测试

  • http://localhost/hv/user/add1?name=234 在这里插入图片描述

  • http://localhost/hv/user/add2?name=fadfasfafsd&email=369950806 在这里插入图片描述

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0748s