我将OmniFaces <o:validateMultiple>
设置为两个<p:selectOneMenu>
。一个下拉框用于主场,另一框用于客队(体育比赛)。
验证器检查时间表中是否已经存在两个团队的组合,如果存在,验证器方法返回false。 (请参见示例中的上表:组合已经存在...列表中的单个项目)
现在是问题:
两个选择框被重置为其空值,但是在后台,它们似乎保留了该值。
UI告诉用户“选择已被清除”,但这不是我或用户所期望的。
[之前:验证:
验证后:
问题
:验证失败后如何恢复选择框的值,或者如何简单地保留这些值?
我想重置输入只是JSF指定的行为?? 🤷♂️
PrimeFaces是否有问题(我想不是吗?
可以做到吗?如果是这样,如何?
PS:我不认为在此处为选择框发布JSF代码可能会有所帮助,但如果可以,请发表评论
我有一个OmniFaces
JSF应该保留框架生命周期所定义的组件树的状态。
但是,根据JSF页面的功能,您可以选择仅在发生事件时仅部分处理页面。在这种情况下,仅已处理的组件将保留其状态。
让我们以您的用例为例,首先定义一个视图: