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