DaiXT:SpringBoot-Hibernate Validate 校验

7、Hibernate Validate 校验(验证表单)

成员变量的注解—接收数据的Javabean

1)空检查 NotBlank(message=”{不允许为空}“)

2)boolean

@AssertTrue:验证boolean属性是否为true

@AssertFalse:验证boolean属性是否为false

3)长度检查@Length(min=1,max=10,message=”长度须在1-10之间“)

校验总结:

1、jar包引入(调低boot版本)

2、实体类成员变量上定义校验规则

3、@Validated校验

4、通过BingdingResult.hasErrors()方法获知校验结果

5、校验不通过通过 th:errors回显错误信息

步骤
1、调低boot版本 -> 2.1.6.RELEASE在这里插入图片描述
改完版本后就会出现此jar包
在这里插入图片描述
2、实体类成员变量上定义校验规则

package com.qst;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

public class MyUser {
    @NotBlank(message = "用户名不能位空!")
    private String  username;
    @Length(min=6,max = 6,message = "密码长度需为6位!")
    private  String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "MyUser{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

3、@Validated校验+通过BingdingResult.hasErrors()方法获知校验结果

    //接收完之后进行信息校验
    @RequestMapping("/register")
    public String register(@ModelAttribute("user") @Validated MyUser u, BindingResult result){
        // BindingResult 接收校验结果
        if(result.hasErrors()){//校验没有通过
            return "register";
        }
        return "main";//校验通过
    }

    @RequestMapping("/toRegister")
    public String toRegister(Model model){
        model.addAttribute("user",new MyUser());
        return "register";
    }

4、校验不通过通过 th:errors回显错误信息

<!DOCTYPE html>
<html lang="en">
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form th:action="@{/register}" th:object="${user}" method="post">
    用户名:<input type="text" th:field="*{username}">
    <span th:errors="*{username}"></span><br/>
    密码:<input type="password" th:field="*{password}">
             <span th:errors="*{password}"></span><br/>
    <input type="submit" value="提交"/>
</form>
</body>
</html>

运行效果图如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值