2011-08-04 55 views
3

我新的JSF,我收到以下錯誤<h:selectManyCheckBox>驗證錯誤:值無效SelectManyCheckBox

Validation Error: Value is not valid

這是我的模型:

private List<String> selectedRoles; 
public List<SelectItem> availableRolesSelectItem; 

for (Role role : rolesList) { 
    SelectItem option = new SelectItem(role.getName(), role.getName() + " " + role.getDescription()); 
    availableRolesSelectItem.add(option); 
} 

這是我的看法:

<h:selectManyCheckbox value="#{mybean.selectedRoles}" required="true" requiredMessage="#{errormessages.valueRequired}"> 
    <f:selectItems value="#{mybean.availableRolesSelectItem}" /> 
</h:selectManyCheckbox> 

SelectItem我不分配Role對象s的價值,我只是分配String值。即使我收到錯誤。

你們能幫我解決嗎?

+0

足夠的描述在這裏提供http://balusc.blogspot.com/2008/09/validate-required-checkbox.html – Maddy

+0

@madhu:這隻適用於''。 – BalusC

回答

4

你得到這個錯誤,每當選定值(一個或多個)不處理表單提交的請求期間匹配任何可用的值。在處理表單提交的請求期間,您需要確保availableRolesSelectItem完全相同,因爲它在顯示錶單期間是如此。理想情況下,您將在bean的(後)構造函數中執行availableRolesSelectItem填充作業。

+0

如果我能將這一百萬次提升爲我所願意的。 – Spiff

+0

如果它們不能完全相同,例如它們是從類型提示查詢加載的搜索結果,我該怎麼辦? – Matt

相關問題