學習springBoot 進階表單驗證(四)
阿新 • • 發佈:2019-01-12
現在用一個新的springBoot專案來繼續學習,所有的配置都是和springBootdemo一樣只是名字換了一下
SpringBootUpgrade 新專案
現在修改一下新增的方法,不在直接傳數值,而是直接傳一個Girl物件到後臺新增
修改後 啟動專案去測試一下
postman測試一下修改過後的方法能不能成功,新增成功。
接下來就我們在新增一個物件的時候如何做到表單攔截不讓他新增物件
Girl 類 在年齡age屬性上加上@Min註解
package com.zhang.domain; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.validation.constraints.Min; /** * 女孩實體類 * @author Administrator * */ @Entity //這個註解 就是表示 當前實體類與資料庫中的一個表對應 public class Girl { @Id @GeneratedValue private Integer eid; private String cupSize; @Min(value= 18,message="未滿18歲禁止新增!!!") private Integer age; public Girl() { } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public String getCupSize() { return cupSize; } public void setCupSize(String cupSize) { this.cupSize = cupSize; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
GirlController 類 新增girl方法修改為
/** * 新增一個女孩 */ @PostMapping(value="/girlsAdd") public Girl girlAdd(@Valid Girl girl , BindingResult bindingResult){ if(bindingResult.hasErrors()){ System.out.println(bindingResult.getFieldError().getDefaultMessage()); return null; } girl.setCupSize(girl.getCupSize()); girl.setAge(girl.getAge()); return girlRepository.save(girl); }
修改好之後重新起專案測試一下
先新增一個大於18歲的女孩物件,測試結果成功
再新增一個小於18歲的女孩物件,看看我們設定的表單攔截是否可用,測試結果攔截成功