2013-08-07 48 views
0

我在JSF頁面上有一個自定義驗證程序,我使用查看參數將callbackUrl的值設置爲在URL中接收的Backing Bean。在頁面加載期間禁用自定義驗證程序

例如,

http://localhost:8080/myapp/index.jsf?callbackUrl=google.com 

的JSF:

<f:metadata> 
    <f:viewParam id="callbackUrl" name="callbackUrl" 
     value="#{userbean.callbackUrl}"> 
     <f:validator validatorId="com.me.something.CallbackUrlValidator" /> 
    </f:viewParam> 
</f:metadata> 

我有檢查URL是否是有效的自定義驗證。定製驗證器在頁面加載期間執行一次,在頁面提交期間執行一次。我只想驗證者只在頁面提交期間進入。無論如何,我可以做到這一點?

回答

1

<f:validator>標記具有disabled屬性用於該目的。

要檢查當前請求是否是回傳(表單提交),只需檢查FacesContext#isPostback()

<f:validator ... disabled="#{not facesContext.postback}" /> 
相關問題