我是新来的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
填充工作。