使用springboot框架做表單後台驗證

2021-09-25 10:38:00 字數 1653 閱讀 9032

1.在實體類中新增校驗規則

@notnull 不能為null

@notempty 不能為空字串

@notbank 不能為null和空字串

@pattern 正則驗證

@notblank(message="使用者名稱不能位空",groups= )

@pattern(regexp="[\\u4e00-\\u9fa5\\w]" ,message="使用者名稱必須3-18位的中文或者數字字母下劃線",groups= )

private string username;

@notblank(message="密碼不能為空",groups= )

@pattern(regexp="[a-za-z][\\w!@#~$%^&*\\(\\)]" ,message="密碼必須6-18位 且以字母開頭",groups= )

private string password;

@notblank(message="手機號不能為空",groups= )

@pattern(regexp="1[34578]\\d" ,message="請輸入正確的手機號",groups= )

private string tel;

2.controlle層開啟對物件的校驗

對傳入的實體引數前新增@validated,並加入引數bindingresult,用於封裝校驗的結果

/**

* 對註冊介面的後台校驗

* * @validated 開啟對suser實體的校驗

* bindingresult 封裝了資料校驗的結果

* @param user

* @param result

* @return

*/public modelandview validate(@validated(value=registervalidate.class) suser user,bindingresult result,

modelmap modelmap )

// 錯誤資訊應該要顯示到介面上

return new modelandview("/register");

}//生成註冊時間

date d = new date();

//將註冊時間新增到suser物件

user.setuserregtime(d);

string uuid =uuid();

user.setuserid(uuid);

//重新整理user物件

modelmap.addattribute("user", user);

// 呼叫業務邏輯儲存使用者

int row = userser.adduser(user);

return new modelandview("/tips");

}

3.如果乙個實體在乙個專案中有多套校驗規則,就需要對校驗規則進行分組

3.1定義乙個介面 分組介面

3.2在實體類中宣告 該組驗證對哪組有效,新增group=

3.3 在controller層,@validated中新增value=

該介面裡面什麼也不用寫

public inte***ce registervalidate

Spring boot 使用 shiro做安全校驗

試了下,不太好使,先mark下 相比較而言spring sercurity比shiro複雜多了。有一種牛刀殺雞的感覺。還是shiro比較使用一點。之前查資料大部分國內資料還是通過配置檔案在注入。比較麻煩,而且不太符合springboot的風格。這下好了,shiro官方2017年5月在mvn倉庫裡發不...

springboot使用redis做快取

org.springframework.bootgroupid spring boot starter data redisartifactid dependency redis host 121.89.192.157 port 6379 jedis pool max active 25 max i...

SpringBoot使用CORS做跨域處理

相對於ssm去配置跨域,springboot要簡單許多,不需要了xml檔案的配置,只需要完成乙個配置檔案的編寫然後加上 configuration註解即可 import org.springframework.context.annotation.bean import org.springfram...