Условная проверка бинов
Я использую Bean Validation в своем проекте JSF. Теперь я столкнулся с ситуацией, в которой я хотел бы проверять метод ТОЛЬКО при проверке предыдущего метода.
Я приведу пример:
@AssertTrue(message="{invalidCode}")
private boolean isValidActivationCode() { ... }
if(isValidActivationCode()) {
@AssertTrue(message="{alreadyActivated}")
private boolean isAlreadyActivated() { ... }
}
Поскольку я получу код активации для каждого параметра, я хотел бы сначала проверить его. Если он недействителен, это приведет к нарушению. Если так, я даже не могу проверить, активирован ли он уже (так как код недействителен). Итак, возможно ли достичь чего-то подобного вышеупомянутому (функция оператора if, я знаю, это не сработает, но показывает, чего я пытаюсь достичь).
заранее спасибо
Обновить
Обход, как Рави К, упоминается:
@AssertTrue(message="{invalidCode}")
private boolean isValidActivationCode() { ... }
@AssertTrue(message="{alreadyActivated}")
private boolean isAlreadyActivated() { return isValidActivationCode() ? ... : true; }
Хотя мне интересно, есть ли чистый способ решить эту проблему? Если никто не даст ответ в ближайшее время, я буду считать, что для этого нет чистого решения, и я приму решение от Ravi K в качестве ответа на эту проблему.