OmniFaces 重设两个PrimeFaces 验证失败后]]

问题描述 投票:3回答:1

我将OmniFaces <o:validateMultiple>设置为两个<p:selectOneMenu>。一个下拉框用于主场,另一框用于客队(体育比赛)。

验证器检查时间表中是否已经存在两个团队的组合,如果存在,验证器方法返回false。 (请参见示例中的上表:组合已经存在...列表中的单个项目)

现在是问题:

两个选择框被重置为其空值,但是在后台,它们似乎保留了该值。

UI告诉用户“选择已被清除”,但这不是我或用户所期望的。

示例

[之前:验证:

enter image description here

验证后:

enter image description here

问题

验证失败后如何恢复选择框的值,或者如何简单地保留这些值?

我想重置输入只是JSF指定的行为?? 🤷‍♂️

PrimeFaces是否有问题(我想不是吗?

可以做到吗?如果是这样,如何?

PS:我不认为在此处为选择框发布JSF代码可能会有所帮助,但如果可以,请发表评论

我有一个OmniFaces 设置为两个。一个下拉框用于主场,另一框用于客队(体育比赛)。验证程序检查......>

validation jsf primefaces jsf-2 omnifaces
1个回答
0
投票

JSF应该保留框架生命周期所定义的组件树的状态。

但是,根据JSF页面的功能,您可以选择仅在发生事件时仅部分处理页面。在这种情况下,仅已处理的组件将保留其状态。

让我们以您的用例为例,首先定义一个视图:

© www.soinside.com 2019 - 2024. All rights reserved.