1

我有一个对话框,其中包含 p:inputText 和 required="true" 和相应的 p:outputLabel。

<p:outputLabel for="name"   value="First Name" />
<p:inputText id="name"  value="#{userManagedBean.name}" required="true"/>

我提交的对话框没有任何值,导致验证错误,由 p:outputLabel 红色必需标记指示。但是在没有提交的情况下重新打开对话框时, outputLabel 仍然处于无效状态(红色字体)。在我提交或从其他页面返回之前,它不会更新。我试图更新整个对话框,但它不会影响标签。

提前致谢

4

2 回答 2

1

这是预期的行为,因为输入组件(和相关组件)将在验证失败后保持其状态。只有在重新执行完整请求并再次执行完整的 JSF 生命周期后,才会更改状态。

您没有确切说明如何“更新”面板,但我可以建议<p:resetInput/>明确重置相关输入组件的状态,而无需重新提交整个<h:form/>. 如果您发布了更有意义的代码,我也许可以提供一个工作片段

于 2013-06-22T19:46:15.393 回答
-1

由于在 javascript(客户端)中打开对话框,因此不会更新。

当您打开它时,您需要重新呈现您的对话框。

于 2013-06-22T18:31:50.507 回答