2013-03-13 85 views
0

我有3個複選框,所以我有3個不同的ID。我需要用戶至少檢查一個複選框。我只爲第一個ID定義了錯誤消息,因此如果用戶未選中所有3個複選框,他將看到我的錯誤消息,並且第一個複選框將標記爲黃色。強制性複選框JSF

現在我想標記所有3個複選框黃色時沒有任何檢查。對於每個ID,這可能有3個錯誤消息。但不想要的副作用是用戶會看到3條錯誤消息。我只需要一個錯誤消息和3個黃色複選框。這在JSF中可能嗎?

回答

3

這有基本上2個解決方案:

  1. 要麼使用<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" />