我有三个字段用于我的搜索,但只需要一个'(至少有一个'应该被提交,所以我试图有一个条件需要,如下面的代码所示,但不起作用,因为单击命令按钮所需的所有三个字段,即使一个字段有值。我应该使用jquery在点击按钮时解决此问题。
<h:form id="search_form">
<p:inputText name="field1" id="field1" type="text"
required="#{searchBean.SearchCriteria.field3==null and searchBean.searchCriteria.field2==null}" value="#{searchBean.searchCriteria.field1}"></p:inputText>
<p:inputText name="field2" id="field2" type="text"
required="#{searchBean.SearchCriteria.field1==null and searchBean.searchCriteria.field3==null}" value="#{searchBean.searchCriteria.field2}"></p:inputText>
<p:inputText name="field3" id="field3" type="text"
required="#{searchBean.SearchCriteria.field1==null and searchBean.searchCriteria.field3==null}" value="#{searchBean.searchCriteria.field3}"></p:inputText>
<p:commandButton id="search_button" ajax="false" title="#process="@form" action{#searchBean.search()}" />
</h:form>
答案 0 :(得分:1)
让你的bean的search()
方法运行验证,返回null
,如果没有填充这些字段,可能会添加facesMessage。