1. 程式人生 > >springboot--資料校驗

springboot--資料校驗

目錄

SpringBoot實現資料校驗的方法

校驗方法

常用的校驗方法


SpringBoot實現資料校驗的方法

  • SpringBoot使用了Hibernate-validate校驗框架
  • spring-boot-strarter-web啟動器中已經包含了Hibernate-validate的jar包

校驗方法

  • 在實體類上加上校驗規則
    • public class Users {
      //    @NotBlank非空校驗
      //    message屬性可以指定當出現錯誤時,被封裝進model中的value的值
          @NotBlank(message = "使用者名稱不能為空")
          private String name;
          @NotBlank(message = "密碼不能為空")
          private String password;
          private Integer age;
      
          @Override
          public String toString() {
              return "Users{" +
                      "name='" + name + '\'' +
                      ", password='" + password + '\'' +
                      ", age=" + age +
                      '}';
          }
      
          public String getName() {
              return name;
          }
      
          public void setName(String name) {
              this.name = name;
          }
      
          public String getPassword() {
              return password;
          }
      
          public void setPassword(String password) {
              this.password = password;
          }
      
          public Integer getAge() {
              return age;
          }
      
          public void setAge(Integer age) {
              this.age = age;
          }
      }

       

  • 在controller類中開啟校驗
    •     /**
           * @Valid 開啟對Users的資料校驗
           * @param u 需要儲存的實體類
           *        bindingResult 將校驗結果封裝進Model中,key為被校驗的物件的名稱(用駝峰命名法)(本次就是users),
           * @ModelAttribute 如果想對返回錯誤結果的model中的key值進行重新命名,可以使用該註解,並指定別名為"user"
           * @return
           */
          @RequestMapping("/save")
          public String saveUser(@ModelAttribute("user") @Valid Users u, BindingResult bindingResult){
              System.out.println(u);
      //        當bindingResult.hasErrors()==true則資料有錯,校驗失敗
              if (bindingResult.hasErrors()){
                  return "addUser";
              }
              return "ok";
          }

       

  • 在頁面中獲取錯誤資訊
    • <form action="/save" method="post">
          使用者名稱:<input type="text" name="name">
          <!--剛進入頁面時,應為不存在user物件,所以需要判斷users是否存在,否則將丟擲異常-->
          <!--此處的屬性名user應該和前臺傳過來的一致,不然將不顯示-->
          <font color="red" th:if="${user}!=null" th:errors="${user.name}"></font><br>
          密碼:<input type="password" name="password">
          <font color="red" th:if="${user}!=null" th:errors="${user.password}"></font><br>
          年齡:<input type="text" name="age"><br>
          <input type="submit" value="儲存">
      </form>

       

常用的校驗方法

  • @NotBlank:判斷字串是否為null或是空串,會自動去掉首尾空格
  • @NotEmpty:判斷字串是否為null或是空串,不會自動去掉首尾空格
  • @NotNull:判斷屬性值是否為null
  • @Length(max=x,min=y):判斷字元的長度(最大為x,最小為y)
  •     @Length(max = 8,min = 6,message = "密碼太短")
        private String password;

 

  • @Min:用於對數值的判斷,指定最小值
  • @Max:用於對數值的判斷,指定最大值
  • @Email:判斷郵箱是否合法