如何在 p:ajax 提交的输入组件上获得 p:resetInput 功能
How to get p:resetInput functionality on p:ajax-submitted input component
我有一个文本字段和一个验证器,如下所示。它使用 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>
下面的 link 展示了如何在 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
从 PrimeFaces 4.0 开始,您可以为此使用 <p:ajax resetValues>
。
<p:inputText ...>
<p:ajax ... resetValues="true" />
</p:inputText>
另请参阅:
- How can I populate a text field using PrimeFaces AJAX after validation errors occur?
我有一个文本字段和一个验证器,如下所示。它使用 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>
下面的 link 展示了如何在 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
从 PrimeFaces 4.0 开始,您可以为此使用 <p:ajax resetValues>
。
<p:inputText ...>
<p:ajax ... resetValues="true" />
</p:inputText>
另请参阅:
- How can I populate a text field using PrimeFaces AJAX after validation errors occur?