我有一个 jsf 页面
<h:inputText required="true">
属性。当我单击我的添加按钮时,如果该字段为空白,我希望看到一个错误。
我有一个<f:message>
显示这个。
但是我怎样才能逃避(取消)该字段为空白的页面?就我而言,它不断发布错误消息,我必须在该字段中输入一些内容才能转到另一个页面。
我有一个 jsf 页面
<h:inputText required="true">
属性。当我单击我的添加按钮时,如果该字段为空白,我希望看到一个错误。
我有一个<f:message>
显示这个。
但是我怎样才能逃避(取消)该字段为空白的页面?就我而言,它不断发布错误消息,我必须在该字段中输入一些内容才能转到另一个页面。
如果您的取消按钮是POST请求,例如<p:commandButton>
, <h:commandButton>
, <p:commandLink>
, 或<h:commandLink>
您可以将取消按钮放在具有不提交表单的表单之外 <h:inputText>
<h:form>
<h:inputText value="#{bean.string}" required="true"/>
</h:form>
<h:form>
<p:commandButton value="Cancel" action="anotherpage.xhtml"/>
</h:form>
如果您在没有任何操作或方法调用的情况下进行导航,那么您可以使用GET请求,例如<h:button>
、或。<p:button>
<h:link>
<h:outputLink>
例子:
<h:form>
<h:inputText value="#{bean.string}" required="true"/>
<p:button value="Cancel" outcome="anotherpage.xhtml"/>
</h:form>
您可以immediate="true"
在您的<p:commandButton>
. 然后它将跳过验证。
例如:
<p:commandButton action="#{managedBean.action}" value="Cancel" immediate="true" />
如果您想取消或离开,请不要在提交时处理表单。
即不做
<h:form>
...
<p:commandButton value="Cancel" action="#{bean.cancel}" />
</h:form>
但只要做
<h:form>
...
<p:commandButton value="Cancel" action="#{bean.cancel}" process="@this" />
</h:form>
或者,如果您只是在cancel()
方法中返回导航结果,那就更好了
<h:form>
...
<p:button value="Cancel" outcome="otherpage.xhtml" />
</h:form>