Получите ManagedBeans в Custom JSF Validator динамически - PullRequest
0 голосов
/ 01 февраля 2012

Я хочу проверить значения динамически, используя пользовательский валидатор, который можно использовать с несколькими компонентами.Пользовательский валидатор получает эти значения из разных ManagedBeans в зависимости от его использования.

Как определить, из какого ManagedBean извлекается значение?Таким образом, я могу получить его, проверить его и положить обратно в ManagedBean.

Мой пользовательский валидатор:

@FacesValidator(value = "valid")
public class DateValidator implements Validator {

    @Override
    public void validate(FacesContext context, UIComponent component, 
             Object value) throws ValidatorException {
       // Bean bean = ?
    }
}

1 Ответ

0 голосов
/ 01 февраля 2012

Я не думаю, что это хороший подход, так как на этапе проверки модель все еще не обновлена, то, что вы получаете, это просто входное значение из представления. Интересно, зачем тебе нужен экземпляр бобов? Если ваша проверка зависит от другого компонента, вы можете обратиться к link @ SO и Validator для нескольких полей .

Поскольку вы ссылаетесь, вам нужно проверить и отложить его, поэтому этап проверки завершен, проверьте его в своем валидаторе, и если он потерпит неудачу, он не будет передан управляемому бину.

Посмотрите эту ссылку для жизненного цикла JSF Жизненный цикл JSF

Надеюсь, это поможет !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...