2013-03-07 108 views
0

之前,我想觸發雙擊bean的方法,並填寫日曆輸入當前日期,任何檢驗之前:Primefaces日曆 - 驗證偵聽

public void terminToCurrent(){ 
    measure.setTermin(new Date());  
} 

它:

   <p:calendar id="idInputDueDate" value="#{newMeasureMB.measure.termin}"      
         required="true" immediate="true">   

        <p:ajax event="dblclick" listener="#{newMeasureMB.terminToCurrent}" 
         global="false" update="idInputDueDate" immediate="true"/>  

       </p:calendar> 

在後臺bean的方法只有當我刪除「required = true」時纔有效,否則驗證總是會發生。我正在使用primefaces 3.3.1

+0

您是否需要在bean中的ajax監聽器方法中指定特定事件作爲參數? – SRy 2013-03-07 15:08:59

+0

我不這麼認爲:http://www.primefaces.org/showcase/ui/ajaxifyAction.jsf – Nikola 2013-03-07 15:43:08

回答

0

默認process屬性p:ajax@this所以您的日曆處理。將process="@none"添加到no p:ajax或從p:calendar中刪除immediate="true",以便不處理其所需的驗證(如果可以根據您的使用情況進行驗證)。

+0

我已經添加了'process =「@ none」',但現在不調用支持bean的方法。我也嘗試刪除'immediate =「true」'並且再次沒有成功 – Nikola 2013-03-07 13:27:32

+0

您從日曆中刪除了'immediate =「true」',而不是'p:ajax'? – partlov 2013-03-07 13:31:20

+0

是的,我從日曆中移除了'immediate =「true」'。 – Nikola 2013-03-07 14:20:11