Проверка JSR 303. Если одно поле равно «чему-то», тогда эти другие поля не должны быть нулевыми.

Я хочу провести небольшую пользовательскую проверку с помощью JSR-303 javax.validation .

У меня есть поле. И если в это поле вводится определенное значение, я хочу потребовать, чтобы несколько других полей не были нулевыми .

Я пытаюсь понять это. Не знаю, как бы я это назвал, чтобы найти объяснение.

Любая помощь будет принята с благодарностью. Я новичок в этом.

В данный момент я думаю о пользовательском ограничении. Но я не уверен, как проверить значение зависимого поля из аннотации. В основном я не уверен, как получить доступ к объекту панели из аннотации.

public class StatusValidator implements ConstraintValidator<NotNull, String> {

    @Override
    public void initialize(NotNull constraintAnnotation) {}

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        if ("Canceled".equals(panel.status.getValue())) {
            if (value != null) {
                return true;
            }
        } else {
            return false;
        }
    }
}

Это panel.status.getValue (); вызывает у меня проблемы ... не знаю, как это сделать.

72
задан Vladimir Vagaytsev 22 June 2016 в 14:06
поделиться