我有一个非常奇怪的问题。
如果我直接使用原始组件,那么数据表中所需的验证效果很好:
<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}" />
所以现在,从我正在调用我的组件的数据表中:
<gra:inputTextValidated
id="inputText"
bean="#{bean}"
field="#{fieldValue}"
renderLabel="false"
required="true"
disabled="#{disabled}"
width="90%"
height="#{secondTabComponentsHeight}"
>
</gra:inputTextValidated>
现在不再出现验证消息。 gra:inputTextValidated组件工作正常,值被渲染,因此它只是验证的问题。
我已经花了大约3个小时在这上面并且我非常肯定它是关于ID的东西,某种方式是ice的属性:消息没有正确地从自定义组件中看到我的输入文本(但它存在,作为垃圾邮件呈现)。
你有什么建议吗?
答案 0 :(得分:0)
解决。
以上代码正常运作。