以编程方式"关闭"bean验证(javax.validation.constraints)

Mar*_*llo 8 java validation javabeans jsr bean-validation

例如,我们在一些实体中有几个字段正在使用注释@Pattern进行验证.该实体在项目的任何地方都使用,但只在一个地方我们需要"关闭"此验证.

有没有办法以编程方式进行,或者这是不可能的?

kon*_*dkg 12

您可以使用验证组:

@Min(value = 18, message = "You have to be 18", groups = AdultsGroup.class)
public int age;
Run Code Online (Sandbox Code Playgroud)

然后 :

constraintViolations = validator.validate( person, AdultsGroup.class );
Run Code Online (Sandbox Code Playgroud)

检查最小年龄,或:

constraintViolations = validator.validate( person, null );
Run Code Online (Sandbox Code Playgroud)

不检查此约束.

您可以在此处阅读更多详细信息:http://beanvalidation.org/1.1/spec/#constraintdeclarationvalidationprocess-groupsequence