1

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

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

4

1 回答 1

4

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

  1. 要么使用single<h:selectManyCheckbox>而不是<h:selectBooleanCheckbox>es,这样你就可以简单地设置required="true"它:

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

    <h:selectBooleanCheckbox id="one" ... />
    <h:selectBooleanCheckbox id="two" ... />
    <h:selectBooleanCheckbox id="three" ... />
    <o:validateOneOrMore components="one two three" />
    
于 2013-03-13T13:26:20.347 回答