как очистить значение сообщения в jsf - PullRequest
1 голос
/ 24 ноября 2011

У меня есть валидатор для некоторых компонентов, который отображается, например, как:

<span class="iceMsgError graValidationMessageError graNotRequiredError" id="j_id1950:selectOneMenuVdcValidator">Value is required!</span>

Я хочу очистить значение в некоторых случаях, и я делаю это так:

if (component.getClientId(FacesContext.getCurrentInstance()).contains(VALIDATORS_COMPONENT_ID)) {
        final HtmlMessage messageValidator = (HtmlMessage) component;
        //clear value here
    }

Я просто не нахожу какой-либо метод для очистки значения ... Для экземпляров входные компоненты имеют setValue, но HtmlMessage , похоже, не имеет ничего подобного.

Ты знаешь, как это сделать?

Update: для очистки значений компонентов ввода я делаю это так: (Я использую это при закрытии некоторых всплывающих окон для очистки ввода пользователя)

if (component instanceof EditableValueHolder) {
        final EditableValueHolder editableValueHolder = (EditableValueHolder) component;
        editableValueHolder.setSubmittedValue(null);
        editableValueHolder.setValue(null);
        editableValueHolder.setLocalValueSet(false);
    }

1 Ответ

0 голосов
/ 29 ноября 2011

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

Был атрибут immediate=true для некоторых selectOneMenus, который вызывает эту проблему. В icefaces мы используем этот атрибут вместе с partialSubmit=true, но здесь он нам не нужен, поэтому, оставшись один, он вызвал эту уродливую проблему.

Так что, по сути, для этого нет установщика, потому что вам не нужно очищать это вручную так, как я хотел это сделать.

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

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