使用“immediate”作为取消按钮但只保存一些字段

时间:2011-03-30 08:49:09

标签: jsf

我有一个JSF 1.2表单,它由几个部分组成。

我已启用required标记验证。

我希望能够清除表单的某个部分,其中包含必填字段,因此在“清除”按钮上我使用了immediate标记。

现在挑战 - 当按下“清除”按钮时,自上次提交以来填写的所有值都恢复到上次提交的状态,而我希望只影响表单的某个部分。 (意思是,虽然按下的按钮是immediate

,但是应该对表单中那部分内的所有值进行求和。

有办法做到这一点吗?

编辑 - 我可以在每次填写后提交一个值吗?这可能是一个解决方案。

谢谢!

1 个答案:

答案 0 :(得分:4)

如果您想使用immediate="true"取消按钮取一些字段,那么您还应该将immediate="true"放在这些字段上。

如果您想要在这些字段上跳过验证,则需要将required="true"更改为required="#{empty param['formId:cancelButtonId']}",以便仅在取消按钮时才需要用来提交表格。

至于提交变更值,最好用ajax和值变更监听器来实现。要实现这一点,您需要升级到JSF 2.0或引入一个ajaxified JSF组件库。