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

问题描述:

我刚刚发现在pages.xml中必需属性:required = true页面参数不起作用?

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

然而,当手动删除参数从URL中什么也没有发生,那就是仍然执行查询(尽管它不返回元素) ,我没有想到。

我在做什么错?

页面参数验证会影响页面操作的执行。当验证失败时,不执行页面操作并添加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>