验证错误:值对SelectManyCheckBox无效

时间:2011-08-04 08:15:35

标签: jsf jsf-2

我是JSF的新手,我收到了<h:selectManyCheckBox>的以下错误:

  

验证错误:值无效

这是我的模特:

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对象指定为项目值,我只是指定了String值。即使我收到错误。

你能帮助我吗?

1 个答案:

答案 0 :(得分:4)

如果在处理表单提交请求期间所选值与任何可用值都不匹配,则会收到此错误。在处理表单提交请求期间,您需要确保availableRolesSelectItem 完全相同,就像在显示表单时一样。理想情况下,您可以在bean的(post)构造函数中执行availableRolesSelectItem填充作业。