Весенняя проверка пропускает другие проверки, если есть нарушение в пользовательском полевом валидатореJAVA

Программисты JAVA общаются здесь
Anonymous
Весенняя проверка пропускает другие проверки, если есть нарушение в пользовательском полевом валидаторе

Сообщение Anonymous »

Я создаю валидатор, и он имеет комбинацию как валидаторов, так и на уровне класса,
для большей части он работает в этом порядке из моих тестов
Custom Field -> Class -> Out из полевых полей < /p>
Однако, если есть проблема с пользовательским полем, то валидатор останавливается и возвращается и не продолжает в классе и поля поля. Есть ли что -то отсутствующее или конфигурация, которую необходимо изменить, чтобы заставить его пройти через все валидаторы < /p>
Например: в этом, если @idallowed не удастся, мы вернем ошибку, говоря, что идентификатор не является действительным,
, однако, если дата рождения также неверна, мы только увидим сообщение @idallowed, а не дата рождения. Сообщение и сообщение об ошибке имени.@Slf4j
@Getter
@Setter
@ToString
@DateOfBirthValid(groups = {UserInProgressChecks.class})
@Schema
public class User {

@Schema(description = "A valid hexadecimal number (32 chars)", example = "2B437C97C7104E6491ACED5898579092")
@IdAllowed(groups = {Default.class, UserInProgressChecks.class})
@NotNull(groups = {Default.class, UserInProgressChecks.class})
private String id;

@Schema(example = "John")
@NotNull(groups = UserInProgressChecks.class)
@ToString.Exclude
private String firstName;
}
< /code>
@RequiredArgsConstructor
public class IdAllowedValidator implements ConstraintValidator {

private final visibilityChecker visibilityChecker;

@Override
public void initialize(TcIdAllowed constraintAnnotation) {
//empty method
}

@Override
public boolean isValid(String guid, ConstraintValidatorContext context) {
return visibilityChecker.isVisible(guid, SecurityUtils.getLoggedUser(), UserAction.VIEW);
}
}
< /code>
@Retention(RetentionPolicy.RUNTIME)
@Target({FIELD})
@Constraint(validatedBy = IdAllowedValidator.class)
public @interface IdAllowed {

String message() default "id is not valid";

Class[] groups() default {};

Class

Подробнее здесь: https://stackoverflow.com/questions/796 ... n-custom-f

Вернуться в «JAVA»