Hibernate Validator 6.0.7.Final 之一(宣告Bean約束之property級別的約束)
阿新 • • 發佈:2018-11-24
承接上文,本文講解property級別的約束。如果我們的模型類使用的是標準的Java bean的話,我們也可以使用property級別的約束來替代field級別的約束。
public class Car {
private String manufacturer;
private boolean isRegistered;
public Car(String manufacturer, boolean isRegistered) {
this.manufacturer = manufacturer;
this.isRegistered = isRegistered;
}
@NotNull
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
@AssertTrue
public boolean isRegistered() {
return isRegistered;
}
public void setRegistered(boolean registered) {
isRegistered = registered;
}
}
當使用property級別的約束的時候,hibernate validator會使用property訪問策略來訪問需要校驗的值,校驗引擎通過getter方法訪問要被校驗的值。
建議在一個模型類中,field級別的約束和property級別的約束不要同時使用,否則會導致一個屬性被校驗2次。