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

问题描述 投票:0回答:1

我正在开发 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_字段表

validation spring-boot bean-validation spring-rest
1个回答
0
投票

您可以使用您想要的任何逻辑定义自定义验证器。 然后您可以为验证器创建自定义注释并在 DTO 中使用它,就像

@NotNull

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

© www.soinside.com 2019 - 2024. All rights reserved.