验证错误后视图更新不正​​确

时间:2019-06-18 16:19:54

标签: jsf primefaces

视图如下:

form(只能选中一个复选框)

----------------------------------------

checkbox_1(更改值会清除后备bean中的checkbox_1checkbox_2值,并更新form**. new checkbox_1 value is set after all checkbox values are cleared) row_checkbox_1 (rendered only if checkbox_1`被选中)

checkbox_2(更改值会清除后备bean中的checkbox_1checkbox_2值,并更新form**. new checkbox_2 value is set after all checkbox values are cleared) row_checkbox_2 (rendered only if checkbox_2`被选中)

saveButton(有关点击更新form和单独的messages组件)

---------------------------------

选择状态checkbox_1意味着row_checkbox_1组件也可见。 row_checkbox_1字段中也有错误。 按下saveButton后,将显示错误。 问题:按下/选中checkbox_2更新了后备bean-后备bean中的checkbox_1值字段被设置为false(通过查看getter进行调试和验证)和{{1} } value字段设置为true。但是,由于checkbox_2渲染为选中状态,而checkbox_1却没有被渲染,因此视图无法正确更新。请记住,只有在row_checkbox_1为true的情况下才会渲染row_checkbox_1checkbox_1会按照应有的方式进行渲染和检查,checkbox_2字段应以应有的方式可见。

我正在PrimeFaces 6.0中进行所有操作

1 个答案:

答案 0 :(得分:0)

ajax属性restValues="true"有所帮助。也许有人可以解释为什么会发生这种情况?很乐意给他们答案!