Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaBean验证:将两个contstraint与一个字段或在一个字段上组合_Java_Bean Validation_Hibernate Validator - Fatal编程技术网

JavaBean验证:将两个contstraint与一个字段或在一个字段上组合

JavaBean验证:将两个contstraint与一个字段或在一个字段上组合,java,bean-validation,hibernate-validator,Java,Bean Validation,Hibernate Validator,我想根据两个约束中的任何一个来验证字段“foo”,例如 @ConstraintA OR @ConstraintB private String foo; 这是可能的吗?这在Hibernate Validator中是可能的,但只能使用Hibernate Validator特定的扩展。使用它不是符合Bean验证的标准 您必须使用此处所述的约束布尔组合- 您将需要一个“包装器”约束。大概是这样的: @ConstraintComposition(OR) @PConstraintA @Constrain

我想根据两个约束中的任何一个来验证字段“foo”,例如

@ConstraintA OR @ConstraintB
private String foo;

这是可能的吗?

这在Hibernate Validator中是可能的,但只能使用Hibernate Validator特定的扩展。使用它不是符合Bean验证的标准

您必须使用此处所述的约束布尔组合-

您将需要一个“包装器”约束。大概是这样的:

@ConstraintComposition(OR)
@PConstraintA
@ConstraintB
@ReportAsSingleViolation
@Target({ METHOD, FIELD })
@Retention(RUNTIME)
@Constraint(validatedBy = { })
public @interface ConstraintAOrB {
    String message() default "{com.acme.ConstraintAOrB.message}";

    Class<?>[] groups() default { };

    Class<? extends Payload>[] payload() default { };
}
@ConstraintComposition(或)
@PConstraintA
@约束结核
@报告违规行为
@目标({方法,字段})
@保留(运行时)
@约束(validatedBy={})
public@interface.org{
String message()默认值“{com.acme.ConstraintAOrB.message}”;
类[]组()默认值{};
等级