2011-09-16 70 views

回答

4

何時驗證實體?

在JSF驗證階段,這是JSF生命週期的第三階段中,收集和將所述提交的值(第二階段)之間,並更新所述模型的值(第四相)英寸


它是如何處理/聯豆驗證錯誤的看法?

任何驗證器(和轉換器)異常消息被接通/存儲在由FacesContext#addMessage()加到FacesContext一個FacesMessage。所有這些消息又在其被綁定到特定輸入組件

<input id="foo" value="#{bean.foo}" /> 
<h:message for="foo" /> 

<input id="bar" value="#{bean.bar}" /> 
<h:message for="bar" /> 

或全部一起在通用<h:messages/>部件

<h:messages /> 

所有缺少驗證消息將被記錄或者一個<h:message>組分單獨顯示到標準輸出,或者當您在開發項目階段運行時,在開發階段警告消息會自動添加到視圖中。

1

確認後發生的請求值被提交到服務器,但它們應用到模型bean之前。這確保了模型的完整性。在這個過程中有一個數據類型轉換,如果JSF標準驗證器和轉換器不足以驗證你的數據類型,你可以插入你自己的數據類型。本教程描述了JSF中提供的standard validators and converters

編寫自定義的驗證,是指O'Reilly's book on JSF

+0

請注意,OP在談論JSR303 Bean驗證(這些標註像'@ NotNull','@ Pattern','@ Min','@ Max',等等),它也有自己創建自定義的驗證方式。這與JSF自己的驗證器無關。 – BalusC