2011-09-25 53 views
3

我對Bean驗證和JSF驗證一些問題,目前我使用Bean驗證:有關Bean驗證與JSF驗證的問題?

  1. 隨着JSF驗證時,驗證只能客戶端,無需向服務器發送請求,Bean驗證適用於服務器?
  2. 如果javascript被禁用,兩者都可以使用JSF & Bean Validation,還是隻有bean驗證?
  3. 如果有任何Bean驗證有什麼缺點?

回答

4
  1. 這是不正確的。驗證在jsf生命週期期間應用Process Validations。當JSF運行時調用 processValidators在視圖層級中的每個組件上()方法。 的processValidators()方法將首先啓動被驗證組件之前所需的任何數據轉換

    「轉換和驗證發生如果在 轉換或驗證過程中出現任何錯誤,組件將被標記爲無效,並且 會生成錯誤消息並在FacesContext對象中排隊 如果組件被標記爲無效,則JSF會直接前進到渲染 響應階段,它將顯示排隊的 驗證錯誤消息的當前視圖。如果沒有驗證錯誤,JSF 就進入更新模型值階段。」 - johnderinger.wordpress.com

    您還可以找到在the specification此信息

  2. 兩個工作,而javascript

  3. 。這更像是一個編程風格的問題,我認爲模型中的驗證比視圖中的驗證更好,因爲它從視圖中刪除了邏輯,而且更加乾燥(不要重複自己),如果使用bean多次,你將不得不編寫驗證o只有一次使用bean驗證。你也應該知道bean驗證覆蓋JSF中的約束。

    更多信息如何使用bean驗證,你可以找到here和規格here。 有關集成的JSF驗證的更多信息,您應該訪問this site

+0

請問您能解釋或參考一個鏈接如何驗證工作? –

+0

我希望我能幫助你。請不要猶豫,再問一個問題。 :) – Robin

+0

這個答案幫助我,謝謝@Robin – ffSouza