我有3个复选框,所以我有3个不同的ID。我需要至少一个用户选中的复选框。我已经为第一个ID定义了一条错误消息,因此如果用户未选中所有3个复选框,他将看到我的错误消息,第一个复选框将标记为黄色。
现在我想在没有选中时将所有3个复选框标记为黄色。这可以为每个ID提供3条错误消息。但不必要的副作用是用户然后看到3个错误消息。我只想要一个错误消息和3个黄色复选框。这在JSF中可能吗?
答案 0 :(得分:3)
这基本上有两个解决方案:
使用单个<h:selectManyCheckbox>
代替<h:selectBooleanCheckbox>
es,这样您就可以在其上设置required="true"
:
<h:selectManyCheckbox ... required="true">
...
</h:selectManyCheckbox>
或使用<o:validateOneOrMore>
的OmniFaces:
<h:selectBooleanCheckbox id="one" ... />
<h:selectBooleanCheckbox id="two" ... />
<h:selectBooleanCheckbox id="three" ... />
<o:validateOneOrMore components="one two three" />