给出以下课程
public class Website {
@NotNull
String owner:
@ValidUrl
String url;
}
当我们验证(例如使用@Valid)并且如果Website.url不遵守我的自定义@ValidUrl约束时,我们将获得约束违规(例如“url is unreachable”)。
我想知道如果用户愿意,是否可以忽略该验证。
步骤:
答案 0 :(得分:8)
您可以结合使用validation groups和programmatic validatio n。
来完成此操作答案 1 :(得分:0)
这是从一组违规中删除违规的方法。
public static <T> Set<ConstraintViolation<T>> removeViolation(final Set<ConstraintViolation<T>> constraintViolations, final String propertyName, final Class annotationClass) {
return constraintViolations.stream().filter(p ->
!(((NodeImpl) (((PathImpl) (p.getPropertyPath())).getLeafNode())).getName().equals(propertyName))
|| !((ConstraintDescriptorImpl) p.getConstraintDescriptor()).getAnnotationType().getSimpleName().equals(annotationClass.getSimpleName()))
.collect(Collectors.toSet());
}