@size(min=10, max=10)
private String mobileNumber;`enter code here`
private boolean isRequired;
当IsRequired
的值设置为yes时,我需要验证mobileNumber,否则不需要验证。
如何通过Hibernate验证来实现它。
答案 0 :(得分:2)
您可以使用DefaultGroupSequenceProvider
添加您的条件,在您的情况下检查isRequired是否为真
public class BeanSequenceProvider implements DefaultGroupSequenceProvider<MyBean> {
@Override
public List<Class<?>> getValidationGroups(final MyBean object) {
final List<Class<?>> classes = new ArrayList<>();
classes.add(MyBean.class);
if (object != null && object.getisRequired() == true) {
classes.add(Special.class);
}
return classes;
}
}
为以上使用的组定义接口
public interface Special {
}
使用上面创建的验证器
@GroupSequenceProvider(BeanSequenceProvider.class) // needed at class Level
public class MyBean {
@NotEmpty(groups = Special.class) // Will check for condition defined in BeanSequenceProvider
private String mobileNumber;
private boolean isRequired;
// Getters and setters
}
注意:由于“问题”中未提及您的课程,因此我假设其为MyBean