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...