【发布时间】:2012-12-29 10:13:39
【问题描述】:
我有多个表单,其中有必填字段和可选字段。
要提交这样的表单,我需要对要执行的 required-attribute 进行验证,这很好。
要取消这样的表单,我在p:commandbutton 上使用属性immediate="true",它会在Apply Request Values 阶段执行操作,如下所述:@987654321 @
但是,对于大型表单,我想为用户提供一个保存按钮,以便他可以稍后继续。
为了只保存当前状态,我还想忽略所需属性的验证。但是,使用immediate="true" 不起作用,因为那时我的简单保存方法什么也没有保存,因为 JSF 生命周期从未达到“UpdateModelValues”阶段。 (根据http://www.javacodegeeks.com/2012/01/jsf-and-immediate-attribute-command.html)
那么,如何绕过必需的检查但不跳过生命周期的一半?
【问题讨论】:
-
鉴于答案,这在技术上是 How to let validation depend on the pressed button? 的欺骗。
-
@BalusC 你是对的,但另一个问题是关于一个确切的“技术”细节。这个是我在对所有 JSF 措辞不太熟悉时创建的(我今天稍微更正了一点)——因此它与相应的谷歌搜索完全匹配,初学者可能会提交: google.de/…(不过都是排名靠前的)
标签: validation jsf lifecycle immediate-attribute