如何在JSF中验证数据表

时间:2010-03-31 14:33:18

标签: jsf

我有两个JSF <h:selectOneMenu>组件。一个名为 category 的另一个是子类别。 如果我选择类别,则子类别会动态更改。当我单击搜索命令按钮时,它会显示带有布尔复选框的<h:dataTable>

问题是:如果没有选中任何复选框,那么我需要显示错误消息,如“请选择任何”,如果按下搜索按钮后数据表中没有数据,则必须出现相同的错误消息。请提出解决方案。

1 个答案:

答案 0 :(得分:4)

  

如果没有选中任何复选框,那么我需要显示错误消息,例如“请选择任何”。

这取决于您如何对复选框进行分组并收集选中的项目。我打赌你用Map<RowIdType, Boolean>来收集它们。在这种情况下,您只需要计算bean操作方法中已检查项的数量。如果此值等于0,则添加FacesMessage,如下所示:

facesContext.addMessage(null, new FacesMessage("Please select any"));

并以通常的方式显示<h:messages />

  

如果在按下搜索按钮后数据表中没有数据,则必须出现相同的错误消息。

你可以用同样的方式做到这一点。在bean操作方法中,检查返回的行数,如果这等于0,则添加FacesMessage