强制复选框JSF

时间:2013-03-13 12:55:42

标签: jsf checkbox

我有3个复选框,所以我有3个不同的ID。我需要至少一个用户选中的复选框。我已经为第一个ID定义了一条错误消息,因此如果用户未选中所有3个复选框,他将看到我的错误消息,第一个复选框将标记为黄色。

现在我想在没有选中时将所有3个复选框标记为黄色。这可以为每个ID提供3条错误消息。但不必要的副作用是用户然后看到3个错误消息。我只想要一个错误消息和3个黄色复选框。这在JSF中可能吗?

1 个答案:

答案 0 :(得分:3)

这基本上有两个解决方案:

  1. 使用单个<h:selectManyCheckbox>代替<h:selectBooleanCheckbox> es,这样您就可以在其上设置required="true"

    <h:selectManyCheckbox ... required="true">
        ...
    </h:selectManyCheckbox>
    
  2. 使用<o:validateOneOrMore>OmniFaces

    <h:selectBooleanCheckbox id="one" ... />
    <h:selectBooleanCheckbox id="two" ... />
    <h:selectBooleanCheckbox id="three" ... />
    <o:validateOneOrMore components="one two three" />