所需字段的休眠验证错误消息


@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

最新更新