如何在 JSF 中取消没有验证阶段的表单?
How to cancel form without validation phase in JSF?
我有 xhtml
表单,其中包含两个按钮:"OK" 和 "Cancel"。这两个按钮都调用 @ViewScoped
托管 bean 的方法(例如,accept() 和 cancel())。
此外,xhtml
有 viewParam
和一些验证。
处于managedBean
状态,由布尔变量edit
控制。方法 cancel
将 edit
变量转换为 false
.
问题是:如何在没有验证步骤的情况下调用 managedBean
的 cancel()
方法?比如说,我按下 "New record" 按钮并改变了主意。现在我想取消编辑操作,当我按下 "Cancel" 按钮时 - 出现验证错误,但 managedBean 将状态更改为浏览(变量 edit
变为 false
)。我唯一需要的是隐藏验证错误消息,或者在 POST 请求期间跳过验证阶段。如果我使用 GET 请求,我担心 viewParam
迷路,因为视图将被更新。
有什么方法可以跳过 JSF 中的验证阶段吗?
感谢您浪费时间。
If I use GET request, I am afraid that viewParam get lost, because view will be updated.
使用 GET 执行整页刷新是正确的方法(前提是您有一个 @ViewScoped
bean)。要解决上述问题,只需告诉 <h:link>
或 <h:button>
包含视图参数即可。
<h:button value="Cancel" includeViewParams="true" />
另请参阅:
- Reset input fields without executing validation
- Automatically include view parameters in URL
我有 xhtml
表单,其中包含两个按钮:"OK" 和 "Cancel"。这两个按钮都调用 @ViewScoped
托管 bean 的方法(例如,accept() 和 cancel())。
此外,xhtml
有 viewParam
和一些验证。
处于managedBean
状态,由布尔变量edit
控制。方法 cancel
将 edit
变量转换为 false
.
问题是:如何在没有验证步骤的情况下调用 managedBean
的 cancel()
方法?比如说,我按下 "New record" 按钮并改变了主意。现在我想取消编辑操作,当我按下 "Cancel" 按钮时 - 出现验证错误,但 managedBean 将状态更改为浏览(变量 edit
变为 false
)。我唯一需要的是隐藏验证错误消息,或者在 POST 请求期间跳过验证阶段。如果我使用 GET 请求,我担心 viewParam
迷路,因为视图将被更新。
有什么方法可以跳过 JSF 中的验证阶段吗?
感谢您浪费时间。
If I use GET request, I am afraid that viewParam get lost, because view will be updated.
使用 GET 执行整页刷新是正确的方法(前提是您有一个 @ViewScoped
bean)。要解决上述问题,只需告诉 <h:link>
或 <h:button>
包含视图参数即可。
<h:button value="Cancel" includeViewParams="true" />
另请参阅:
- Reset input fields without executing validation
- Automatically include view parameters in URL