通过复合组件使用validateRequired

时间:2011-09-29 08:22:41

标签: jsf-2 facelets composite-component

我正在尝试通过复合组件转发“f:validateRequired”验证器,而不使用必需的属性。

如何在我的组件中获取其价值?

<aa:myComponent id="specificNotice" value="#{edit.specificNotice}">
        <f:validateRequired for="specificNotice" disabled="#{empty param['form:save']}" />
    </aa:myComponent>

感谢。

1 个答案:

答案 0 :(得分:0)

for属性应引用复合组件实现中输入组件的id。反过来,输入组件应在复合组件接口内声明为<cc:editableValueHolder>

所以,

<my:input value="#{bean.input}">
    <f:validateRequired for="input" />
</my:input>

<cc:interface>
    <cc:editableValueHolder name="input" />
</cc:interface>
<cc:implementation>
    <h:inputText id="input" value="#{cc.attrs.value}" />
</cc:implementation>

应该这样做。