針對「驗證碼重複撰寫、前後端不一致、修改同步痛苦」三大痛點,作者設計整合驗證組件,核心概念:
核心抽象
- ValidatorContainer:驗證容器,持有多個 Validator(針對單一資料項的驗證規則集合)。
- Validator:封裝單一欄位的所有驗證規則(必填、長度、正則、自訂邏輯等)與錯誤訊息。
運作流程
- 伺服器端建構
ValidatorContainer,註冊各欄位 Validator。
- 頁面載入時,框架自動遍歷容器,生成對應的 JavaScript 驗證碼註冊至頁面(解決寫錯、不一致問題)。
- 表單提交前,客戶端 JS 先行驗證,失敗攔截提交、顯示錯誤。
- 伺服器端再次驗證(防繞過),通過才進入業務邏輯。
- 驗證通過後,框架可選擇性自動將表單值繫結至實體物件(解決驗證與賦值分離問題)。
關鍵優勢
- 單一真實來源:驗證規則只在伺服器端定義一次。
- 自動生成 JS:消除手寫 JS 錯誤、前後端不一致。
- 開關控制:可依業務情境啟用/停用驗證。
- 預設值支援:驗證失敗時可指定預設值,減少
if/else 判斷。
文末附上原始碼下載連結(Validator.dll),並預告後續文章詳細說明 API 用法。