required = true页面参数不起作用?

时间:2011-03-30 11:36:23

标签: seam

我刚刚在pages.xml中发现了一个必需的属性:

<page view-id="/competition-list.xhtml">
  <param name="season" value="#{seasonHome.id}" converterId="javax.faces.Integer" validator="#{startYearValidator}" required="true" />
</page>

但是,当从URL手动删除参数时,没有任何反应,即查询仍然执行(虽然它不返回任何元素),这是我没想到的。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

页面参数验证会影响页面操作的执行。验证失败时,不执行页面操作并添加FacesMessage

也许您想要添加页面操作来加载竞争,以便在season参数无效时不执行查询:

<page view-id="/competition-list.xhtml"
      action="#{seasonHome.loadCompetitions}">
  <param name="season"
         value="#{seasonHome.id}"
         converterId="javax.faces.Integer"
         validator="#{startYearValidator}"
         required="true" />
</page>