Я хотел бы зарегистрировать обработчик событий, который будет действовать при проверке того, были ли выполнены «обязательные» критерии (если да: без изменений, если нет: закрасить фонкомпонент красный).
Можно ли просто проверить, действителен ли компонент, независимо от используемого преобразования / проверки?
<h:inputText value="#{bean.input}" required="true"
styleClass="#{component.valid ? 'none' : 'error'}" />
(ссылка EL #{component}
внутри входного компонента относится к UIInput
экземпляру самого компонента, этот класс, в свою очередь, имеет метод isValid()
, поэтому он работает так, чтоспособ)
И определить CSS следующим образом
input.error {
background: #fee;
}
Если нет, или если вы хотите более общее решение (или если вы используете JSF 1.x, который нене поддерживает #{component}
), то вы также можете использовать PhaseListener
.Вы можете найти пример в этой статье .