我有 3 个复选框,所以我有 3 个不同的 ID。我需要至少一个由用户选中的复选框。我只为第一个 ID 定义了一条错误消息,因此如果用户未选中所有 3 个复选框,他将看到我的错误消息并且第一个复选框将标记为黄色。
现在我想在没有选中任何复选框时将所有 3 个复选框标记为黄色。对于每个 ID 有 3 条错误消息,这是可能的。但不想要的副作用是用户随后会看到 3 条错误消息。我只想要一条错误消息和 3 个黄色复选框。这在 JSF 中可能吗?
这基本上有两种解决方案:
要么使用single<h:selectManyCheckbox>
而不是<h:selectBooleanCheckbox>
es,这样你就可以简单地设置required="true"
它:
<h:selectManyCheckbox ... required="true">
...
</h:selectManyCheckbox>
或使用OmniFaces:<o:validateOneOrMore>
_
<h:selectBooleanCheckbox id="one" ... />
<h:selectBooleanCheckbox id="two" ... />
<h:selectBooleanCheckbox id="three" ... />
<o:validateOneOrMore components="one two three" />