如何在Spring Boot中进行条件验证?

时间:2018-10-05 02:49:04

标签: validation spring-boot bean-validation spring-rest

我正在开发Spring REST应用程序。

我有一个DTO

private String name;
@
private String nationality;
private String matchType;
private List<NC_Field> ncFields = new ArrayList();
// Getters and Setters

我有3张桌子

  1. 字段表
  2. 名称清除表
  3. NC_Fields表

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用任意逻辑定义自定义验证器。 然后,您可以为验证器创建自定义注释,并像@NotNull

在DTO中使用它
public class CustomValidator implements ConstraintValidator<MyObject, String> {
  .
  .
  .
}

-

@Constraint(validatedBy = { CustomValidator.class })
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
public @interface ContactInfo {
    String message() default "Invalid value";

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

    Class<? extends Payload>[] payload() default {};
}

例如,请参考以下链接:https://www.baeldung.com/spring-dynamic-dto-validation