1. 程式人生 > >Hibernate Validator 6.0.7.Final 之一(宣告Bean約束之property級別的約束)

Hibernate Validator 6.0.7.Final 之一(宣告Bean約束之property級別的約束)

承接上文,本文講解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次。