验证错误:值对SelectManyCheckBox无效



我是新来的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值。即使我得到错误。

你们能帮帮我吗?

在处理表单提交请求期间,只要选择的值与任何可用值不匹配,就会出现此错误。您需要确保availableRolesSelectItem在处理表单提交请求期间的与在显示表单期间的完全相同。理想情况下,您应该在bean的(post)构造函数中执行availableRolesSelectItem填充工作。

相关内容

  • 没有找到相关文章

最新更新