對於我的框架,我已經寫下了這個概念來解決表單驗證問題。我希望它對框架用戶儘可能直接。這是做表單驗證的好設計嗎?
每個窗體(=對象)都有一個或多個FormElements(=對象)。每個FormElement可以有0-n個FormValidators(=對象)。所有通過後端輕鬆配置的東西(簡單的拖動&刪除東西)。
當表單視圖呈現時,它循環遍歷所有FormElement,並且對於它們中的每一個,它遍歷所有關聯的FormValidator。這樣它就構建了所有需要的JavaScript來驗證客戶端的表單。
甲FormValidator是輕量級的對象限定僅這七個東西:驗證工具類的
- PHP類名 驗證工具類,它必須調用的
- 方法名
用於附加參數的字符串(逗號分隔值)
驗證實用程序的JavaScript「class」名稱
- 「方法」的名稱,其必須調用
爲附加參數(逗號分隔值)
其中包含一個格式化的錯誤信息
每個的相關聯ERRORINFO對象特林這些驗證方法將輸入數據作爲第一個參數輸入變量。這些方法中的每一個都只是檢查輸入是否符合某些規則,並返回TRUE或FALSE。
當提交表單時,一個FormDataManager創建和接收: - Form對象(所以它從那裏數據來自何處知道) - 輸入數據(通常爲$ _POST)
然後,它只是遍歷所有FormElements,檢查它們的所有FormValidators,如果有任何內容無效,它將重新加載傳遞錯誤消息數組的Form。如果一切正常,數據將被進一步處理(即存儲到db)。
這個設計有改進嗎?我錯過了什麼?
我仍然認爲你應該上傳到谷歌代碼,sourceforge或git,這樣我們可以預覽你的框架。 – Gordon 2010-01-11 16:04:30