在一個完美的世界裏,你必須投入在業務邏輯層的驗證(驗證),而不是在呈現或持久層。實際上你可以(或者想)把它放在任何地方。驗證設計和文檔
允許作簡單的樣品(使用像JSF或ZK框架web的應用):一定輸入字段接受0001和0500之間4位
你可以使用的約束特徵你的web框架來做到這一點。方便用戶,不需要額外的服務器負載。
你可以在業務層(例如java-ejb)做到這一點。萬無一失,因爲所有使用相同ejb的應用程序都將使用相同的驗證。最終不好,因爲你需要在評估後向用戶拋出錯誤。需要往返於服務器。
如果有人輸入(通過持久層)非數字值或超過4位數的值,您可以依靠(部分)數據庫失敗。醜陋。
簡歷:您可以在1.和2.中做到這一點(多餘)。(讓用戶感覺很好,並使所有應用程序保持一致)。 (加上DB col的長度將是4)
現在問題:你如何記錄這個驗證?文本文檔或UML圖?在某種程度上,您可以在多達3個位置擁有業務邏輯。在複雜的系統中,這幾乎無法跟蹤和理解。
上述示例的現實生活場景:您需要將數字從4改爲5。如果沒有文檔,您需要尋找可能需要更改的位置。
你會遇到什麼?任何提示或工具呢?
歡呼
斯文
你將如何驗證數據與其他數據(表,數據庫)與正則表達式(我的基本用戶)? – javadude 2009-07-27 06:48:54