我有一个文本字段和一个验证器,如下所示。它使用 p:ajax 在更改时提交值,如果字段未通过,验证程序将停止提交。用户按预期获取错误消息(这是update =“msgs ..”所做的)。
然而,当它没有通过时,我想将值重置为之前的值。
<p:inputText id="txtName"
value="#{workspace.selectedPath.name}"
style="width: 20%"
validator="validateName"
valueChangeListener="#{workspace.doNameChanged}"
>
<p:ajax update="msgs formTree" />
</p:inputText>
以下链接显示了如何在PrimeFaces中使用 p:resetInput 标记,但它不能作为 p:inputText 的一部分工作,因为它不是ActionSource 。如果您将其设为 p:ajax 标记的子项,则会被忽略。有什么建议?
How to reset input fields in a form after validation fail when updating it with new values
答案 0 :(得分:2)
自PrimeFaces 4.0以来,您可以使用<p:ajax resetValues>
。
<p:inputText ...>
<p:ajax ... resetValues="true" />
</p:inputText>