4

特別なエラークラスを設定して、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>
4

1 に答える 1

4

component.validinputTextのstyleまたはstyleClass属性内で使用できます。

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

ただし、これはdivjsfコンポーネントではないため、では機能しません。コンポーネントバインディングを試すことができます(理論から、テストされていません):

<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 に答える