Как проверить, является ли JSF UIComponent действительным в файле JSP? - PullRequest
2 голосов
/ 02 июля 2010

В файле jsp есть ли способ найти компонент на этой странице и проверить, является ли этот компонент действительным.

Скажем, у меня есть поле ввода и группа Panel со сложным html, который должен бытьпоказывал, не прошла ли проверка в поле ввода.Что я действительно ищу, так это EL-выражение для визуализируемого атрибута в PanelGroup.

Я попытался поиграть с пользовательской функцией валидатора, и здесь установил для рендерингом значения PanelGroups значение true.Но затем он завершился неудачно в обязательных полях, так как пользовательская функция валидатора никогда не запускалась, когда это поле было пустым.

Сейчас я полностью избежал регулярной проверки и использую некоторый довольно уродливый код для проверки всего при отправке.Затем сохраняем результат во множестве экземпляров логических значений, которые используются для визуализации в PanelGroups.

Любая помощь очень ценится

1 Ответ

4 голосов
/ 03 июля 2010

Вы можете использовать UIInput#isValid().

Вот пример запуска:

<h:form>
    <h:inputText binding="#{input}" value="#{bean.input}" required="true" />
    <h:commandButton value="submit" action="#{bean.submit}" />
    <h:messages />
</h:form>
<h:outputText value="input is not valid!" rendered="#{!input.valid}" />

Обратите внимание, что имя, которое вы используете в атрибуте binding, не должно конфликтовать с именами каких-либо атрибутов / bean-компонентов области запроса.

...