Primefaces 3.4 in-cell可编辑表在验证失败后将inputtext-cell标记为红色

时间:2012-10-24 08:52:58

标签: java jsf primefaces

我正在使用带有Mojarra / Tomcat 7.0.29的PF 3.4中的单元内可编辑数据表。

我的问题是我正在对输入文本应用验证,效果很好。我唯一的问题是在验证失败后,单元格被标记为红色。即使我关闭(即单击取消按钮)可编辑模式,下次我尝试进入编辑模式时它仍然是红色。我需要在 之后删除红色突出显示 我关闭了可编辑模式。

它主要是一个美容问题,因为一切都很好。

有什么想法吗?

到目前为止,我已经在验证程序中对组件尝试了setValid(true),但它似乎没什么帮助。

1 个答案:

答案 0 :(得分:2)

您需要的组件是ResetInput

  

当验证失败时,输入组件将其本地值保持在状态。 ResetInput用于清除状态中的缓存值,以便组件从支持bean模型中检索它们的值。

将重置输入组件附加到动作以重置另一个组件状态

<p:commandButton ....>
    <p:resetInput target="input1" />
</p:commandButton>

另一种解决方案是使用PrimeFaces Extensions中的ResetInput,它也支持event属性。通过这种方式,您可以直接将rowEditCancelresetInput连接起来:

<p:ajax event="rowEditCancel"/>
<pe:resetInput event="rowEditCancel" for="input1"/>