Hibernate Validator 6.0.7.Final 之一(声明Bean约束之field级别的约束)

bean校验中的约束是通过Java注解的形式表现出来的(例如,@NotNull是一个非空约束),再细分的话,有4种类型的约束,它们分别是:field级别的约束、property级别的约束、容器元素的约束和类级别的约束。


本文讲解第一种情况,也就是field级别的约束

  • field级别的约束的例子
public class Car {

    @NotNull
    private String manufacturer;

    @AssertTrue
    private boolean isRegistered;

    public Car(String manufacturer, boolean isRegistered) {
        this.manufacturer = manufacturer;
        this.isRegistered = isRegistered;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public boolean isRegistered() {
        return isRegistered;
    }

    public void setRegistered(boolean registered) {
        isRegistered = registered;
    }
}

当使用field级别的约束的时候,hibernate validator会使用field访问策略来访问需要校验的值,这意味着,校验引擎直接访问实例变量而不是通过调用属性访问方法(getter方法),即使属性访问方法存在也不行。
任何访问级别的field都可以使用约束(public private等),但是static的不行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值