@size(min=10, max=10)
private String mobileNumber;`enter code here`
private boolean isRequired;
当IsRequired
值设置为yes时,我需要验证mobileNumber,否则不需要验证。
我如何通过Hibernate验证来实现它。
您可以使用DefaultGroupSequenceProvider
添加您的条件,在您的情况下检查isRequired是否为true
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