我是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
值。即使我收到错误。
你能帮助我吗?
答案 0 :(得分:4)
如果在处理表单提交请求期间所选值与任何可用值都不匹配,则会收到此错误。在处理表单提交请求期间,您需要确保availableRolesSelectItem
完全相同,就像在显示表单时一样。理想情况下,您可以在bean的(post)构造函数中执行availableRolesSelectItem
填充作业。