Вы можете иметь собственный валидатор, определенный с любой логикой.Затем вы можете создать пользовательскую аннотацию для валидатора и использовать ее в своем 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