验证通常失败时 JSF 中的条件样式
Posted
技术标签:
【中文标题】验证通常失败时 JSF 中的条件样式【英文标题】:Conditional style in JSF when validation has failed in general 【发布时间】:2012-09-25 12:18:24 【问题描述】:我有 h:messages 来显示错误消息,并且有一个组件我希望在发生验证错误时更改其样式(如果任何组件有验证错误或呈现任何验证消息,则更改此样式特定组件)。
如果组件出现验证错误,我知道如何更改样式: JSF : Better way to check for existence of <h:message for="id"/>
但我想要一种更通用的方法,如果表单中的任何组件无效,或者换句话说,任何验证消息都被呈现,则更改样式。
请告知如何实现。
【问题讨论】:
【参考方案1】:您可以使用FacesContext#isValidationFailed()
来检查一般验证是否失败。
<h:outputText ... styleClass="#facesContext.validationFailed ? 'fail' : 'success'" />
或者,您可以使用FacesContext#getMessageList()
检查是否有任何面孔消息。这并不一定表示一般的验证失败,也可以是在 action 方法中添加的全局/成功消息。
<h:outputText ... styleClass="#not empty facesContext.messageList ? 'hasmessage' : 'nomessage'" />
【讨论】:
以上是关于验证通常失败时 JSF 中的条件样式的主要内容,如果未能解决你的问题,请参考以下文章