2

JSF 2.0 に複合コンポーネントがあります

<composite:interface>
    <composite:attribute name="inputId"/>
    <composite:attribute name="labelValue"/>
    <composite:attribute name="inputValue" />
    <composite:attribute name="required" />
    <composite:attribute name="requiredMessage" />
</composite:interface>
<composite:implementation>
    <div class="control-group">
        <h:outputLabel for="#{cc.attrs.inputId}" value="#{cc.attrs.labelValue}" class="control-label" />
        <div class="controls">
            <h:inputText id="#{cc.attrs.inputId}" value="#{cc.attrs.inputValue}" required="#{cc.attrs.required}" requiredMessage="#{cc.attrs.requiredMessage}" />
        </div>
    </div>
</composite:implementation>

それにいくつかの検証を行う必要があります(数値、長さの検証などです)では、どうすればそれを作成できますか?

4

1 に答える 1

4

バリデーターをアタッチしたい目的の入力を として定義する必要があり<cc:editableValueHolder>ます<cc:interface>

<cc:interface>
    <cc:editableValueHolder name="input" targets="#{cc.attrs.inputId}" />
    ...
</cc:interface>

タグは基本的に、で指定されているのと同じものをコンポーネント<f:validator for="input">に適用する必要があることを示しています。したがって、次のように登録できます。UIInputidtargets

<my:input ...>
    <f:validateLength for="input" ... />
</my:input>
于 2012-06-03T22:44:33.593 に答える