2011-09-29 34 views
1

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

如何在我的组件内获取它的值?

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

谢谢。

回答

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> 

应该做的。