2010-06-16 54 views
0

在我們的功能之一中,我們有一些日期字段用於內嵌編輯,我們已啓用手動輸入。如果在rich:calendar組件中,我們手動輸入不正確的日期或垃圾數據,它甚至不會調用操作方法。根據我們的要求,我們需要爲這些字段的日期驗證顯示錯誤消息。有什麼辦法可以跟蹤日曆欄中輸入的日期對於這個組件是不合適的。 代碼爲參考:在豐富的人臉中驗證錯誤的日期條目

<rich:calendar id="actualOpeningDtCal" rendered="#{!empty aProgram.id}" 
    value="#{aProgram.actualOpeningDate}" placeholder="dd-mmm-yyyy" 
    inputSize="20" enableManualInput="true" datePattern="dd-MMM-yyyy" 
    buttonIcon="../content/images/calendar.png" showWeeksBar="false" 
    showFooter="false"> 
    <a4j:support event="oninputblur" reRender="aList" ajaxSingle="false" 
     action="#{aController.inlineEdit}"> 
     <f:setPropertyActionListener value="#{aProgram}" 
      target="#{aController.inLineEditaBean}" /> 
    </a4j:support>  
    <a4j:support event="oncollapse" reRender="aList" ajaxSingle="false" 
     action="#{aController.inlineEdit}"> 
     <f:setPropertyActionListener value="#{aProgram}" 
      target="#{aController.inLineEditaBean}" /> 
    </a4j:support> 
</rich:calendar> 

回答

1

如果驗證失敗,則有錯誤消息。也許你沒有展示他們。使用<rich:messages>而不是<h:messages>使它們在ajax響應上呈現。

一個不好的做法,但可能工作,將使用immediate="true"(繞過驗證),然後在操作方法中進行驗證。