我想将一个特殊的错误类设置为 div block 到我的 JSF 自定义组件中。如果此字段未通过验证,我想将 errorClass 设置为“error”。
<c:if test="${?????}">
<c:set var="errorClass" value="error" />
</c:if>
<div class="input ${errorClass}">
<label for="#{rich:clientId('input')}:input">#{cc.attrs.label}</label>
<h:inputText id="input" value="#{cc.attrs.value}"
<cc:insertChildren />
</h:inputText>
</div>
最佳答案
您可以在 inputText 的 style 或 styleClass 属性中使用 component.valid
:
<h:inputText value="#{cc.attrs.value}"
styleClass="#{component.valid ? '' : 'error'}" />
但是,这在您的 div
中不起作用,因为它不是 jsf 组件。您可以尝试组件绑定(bind)(从理论上讲,未经测试):
<div class="#{myComponent.valid ? '' : 'error'}">
<h:inputText id="input" value="#{cc.attrs.value}" binding="#{myComponent}">
<cc:insertChildren />
</h:inputText>
</div>
关于java - 如何从 JSF 组件获取验证状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559460/