2010-03-31 75 views
1

我有两个JSF <h:selectOneMenu>组件。一个叫类别另一个是子类别。 如果我选择类别,那么子类别会动态变化。当我点击搜索命令按钮时,它显示一个带有布尔值复选框的<h:dataTable>如何在JSF中验证数据表

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

回答

4

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

这取决于你如何分组复选框和收集选中的项目。我敢打赌,你正在使用Map<RowIdType, Boolean>来收集它们。在这种情况下,您只需要计算bean操作方法中已检查项的数量。如果这等于0,然后添加一个FacesMessage类似如下:

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

,并在<h:messages />显示它通常的方式。

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

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

+0

感谢您的回复 – johnbritto 2010-04-01 05:29:56

+0

我讨厌0 upvotes接受的答案;) – Bozho 2010-04-01 09:31:55

+0

我也是Bozho。 – BalusC 2010-04-01 11:06:02