Как передать данные переменных в Spring Custom Validator? - PullRequest
1 голос
/ 04 февраля 2020

У меня есть класс модели, как показано ниже, с пользовательским валидатором Spring @ UserAttributesValidator

public class UserData {
    private String version;

    @UserAttributesValidator
    private HashMap<String,Object> userAttributes;

}

Я мог бы успешно проверить userAttributes в классе Validation. Теперь мне нужно расширить логи проверки c, используя переменную

private String version

Как получить доступ к версии переменной в классе Validator или в логи проверки c?

Мой класс Validator как показано ниже

@Target({FIELD})
@Retention(RUNTIME)
@Constraint(validatedBy = UserDataValidation.class)
@Documented
public @interface UserAttributesValidator {
    String message() default "Invalid User Data";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};

}

А это мой класс UserDataValidation

public class UserDataValidation implements ConstraintValidator<UserAttributesValidator,HashMap> {


    @Override
    public boolean isValid(HashMap inputMap, ConstraintValidatorContext constraintValidatorContext) {

   //HOW DO I ACCESS THE VARIABLE version HERE?

}

...