前陣子工作繁忙,再開發上也碰上一些困難,後來都順利解決了,趁機做個紀錄供自己日後研究,或可以幫助到跟我一樣遇到困難的人。
1.放domain的class名稱前放@Data
2.如果需要分群,可以用 建立一個interface,名稱可以自己隨意取,繼承Default
例如:
public interface Insert extends Default {
}
3.宣告變數&getter setter
private String password;
private String password2;
4.建立一個方法回傳布林值,記得方法名稱必須包含你要驗證的變數,沒有宣告好的話就會沒有效果,試過最好的方式是isCheck變數名稱
@AssertTrue(message = "密碼與再次確認密碼不符合", groups = { Insert.class })
public boolean isCheckPasswordandPassword2() {
return StringUtils.equals(this.password,this.password2);
}
5.controller加上Binding Result
public String insert(@ModelAttribute @Validated(DomainClassName.Insert.class) DomainClassName domain, BindingResult result) {
if (result.hasErrors()) {
return XXX;
}
}
這樣寫就可以完成後端驗證了,記得@AssertTure要加上變數,不然一直不成功又浪費半天去了XDsp