Validation 如果在数据表中使用自定义组件,为什么验证会失败?
我有一个很奇怪的问题 如果我直接使用原始组件,则数据表中所需的验证非常有效,例如:Validation 如果在数据表中使用自定义组件,为什么验证会失败?,validation,jsf,icefaces,Validation,Jsf,Icefaces,我有一个很奇怪的问题 如果我直接使用原始组件,则数据表中所需的验证非常有效,例如: <ice:inputText id="inputTextt" field="#{bean[fieldValue]}" required="true"/> <ice:message for="inputTextt"></ice:message> 当我按下按钮发布表单时,将引发所需消息 嗯,我有一个自定义组件gra:inputTextValidated,我在其中放置了相同的东
<ice:inputText id="inputTextt" field="#{bean[fieldValue]}" required="true"/>
<ice:message for="inputTextt"></ice:message>
当我按下按钮发布表单时,将引发所需消息
嗯,我有一个自定义组件gra:inputTextValidated,我在其中放置了相同的东西,但有点复杂:
<ice:inputText
id="#{id}"
value="#{bean[field]}"
rendered="#{rendered and empty validatorBean}"
styleClass="#{styleClass} #{not required ? 'graNotRequired':''}"
style="width: #{width};height:#{height}"
partialSubmit="#{partialSubmit}"
disabled="#{disabled}"
required="#{required}">
</ice:inputText>
<ice:message
styleClass="graValidationMessage graNotRequired"
for="#{id}" />
现在,我从datatable调用我的组件,如下所示:
<gra:inputTextValidated
id="inputText"
bean="#{bean}"
field="#{fieldValue}"
renderLabel="false"
required="true"
disabled="#{disabled}"
width="90%"
height="#{secondTabComponentsHeight}"
>
</gra:inputTextValidated>
现在验证消息不再出现。gra:InputExtValidated组件工作正常,值被呈现,因此这只是验证的问题
我花了大约3个小时在这上面,我非常确定这是关于ID的问题,不知何故,ice:message的for属性没有正确地从自定义组件中看到我的输入文本(但它在那里,呈现为垃圾邮件)
你有什么建议吗?已解决
上述代码正在运行