嗨说我有一个名为car的样本bean,我想重新定义它的验证序列:
@GroupSequenceProvider(value = CarSequenceProvider.class)
public class Car{
@NotNull(groups = {groupOne.class})
private Boolean isGood;
@Valid
private List<Driver> drivers;
// getter/setter
}
这是我的驱动程序类
public class Driver{
@NotEmpty(groups = {groupTwo.class})
private List<String> skills;
//getter/setter
}
这里是我的序列提供者:
public class CarSequenceProvider implements DefaultGroupSequenceProvider<Car>{
@Override
public List<Class<?>> getValidationGroups(Car car) {
List<Class<?>> sequence = new ArrayList<Class<?>>();
sequence.add(Car.class);
sequence.add(groupOne.class);
if(car != null && car.IsGood()){
sequence.add(groupTwo.class);
}
}
基本上我只希望如果汽车好的话,所有驾驶技能都不会是空的。现在发生的事情是@notEmpty永远不会被调用,因为我的序列重新定义没有级联到Driver List。是否有可能使它级联呢?
非常感谢
答案 0 :(得分:0)
这里@ConvertGroup进入游戏,允许你级联 验证使用与最初请求的组不同的组。
你试过的那个注释