日期:2014-05-16  浏览次数:20364 次

Validator JSR303 学习笔记一 [约束类型]

Bean Validation约束的三种不同的注解(annotations) 类型

1.字段级(field level) 约束,放在字段

?? @NotNull

??? private String manufacturer;

2.属性级别约束,放在get方法上 ,不可以放在set方法


?? @NotNull

??? public String getManufacturer() {

??????? return manufacturer;

??? }

?? 一个属性,最好不要字段级和属性级别约束同时存在
3.类级别约束 放在class 方上
?? @PassengerCount

?? public class Car

?? 以下情况下可以用到类级别约

?? 1) 同时校验多个属性来验证一个对象

?? 2) 一个属性在验证的时候需要另外的属性的信息的时候



约束继承


?? 如果要验证的对象继承于某个父类或者实现了某个接口,那么定义在父类或者接口中的约束会在验证这个对象的时候被自动加载,如同这些约束定义在这个对象所在的类中一


对象图



Bean Validation API不仅能够用来校验单个的实例对象,还能够用来校验完整的对象图.要使用这个功能,只需要在一个有关联关系的字段或者属性上标注@Valid

. 这样,如果一个对象被校验,那么它的所有的标注了@Valid
的关联对象都会被校验

public class Car {


??? @NotNull
??? @Valid
??? private Person driver;