4

我想设置一个特殊的错误类来将 div 块放入我的 JSF 自定义组件中。如果此字段未通过验证,我想将 errorClass 设置为“错误”。

<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>
4

1 回答 1

4

您可以component.valid在 inputText 的 style 或 styleClass 属性中使用:

<h:inputText value="#{cc.attrs.value}" 
             styleClass="#{component.valid ? '' : 'error'}" />

但是,这对您不起作用,div因为它不是 jsf 组件。您可以尝试组件绑定(从理论上,未经测试):

<div class="#{myComponent.valid ? '' : 'error'}">
    <h:inputText id="input" value="#{cc.attrs.value}" binding="#{myComponent}">
        <cc:insertChildren />
    </h:inputText>
</div>
于 2012-07-19T11:20:42.667 回答