在上一篇文章中,我們講解了有關實現驗證控制項的一些知識。那些內容將為開發人員實現驗證控制項奠定一定基礎。為了協助讀者更好的理解驗證控制項的實現 方法,本文將首先介紹常見驗證控制項的實現步驟,然後,通過一個典型樣本說明 驗證控制項的實現方法。
1. 驗證控制項實現步驟
在建立驗證控制項過程中,需要實現伺服器端驗證和用戶端驗證等核心內容。 下面列舉了驗證控制項的常見實現步驟。
(1)驗證控制項類應由BaseValidator基類繼承。這樣可使驗證控制項自動繼承 參與驗證架構所需要的功能。例如,通過繼承BaseValidator的 ControlToValidate屬性,實現驗證控制項與驗證目標控制項的關聯。
(2)實現驗證控制項所特有的一些屬性。開發人員可根據應用需求,從方便實 用的角度出發定義這些特有屬性。
(3)重寫AddAttributesToRender方法,將特有屬性及相關內容添加到控制項 呈現中。當實現用戶端驗證代碼時可能需要引用相關呈現內容。
(4)重寫EvaluateIsValid方法,為驗證控制項添加伺服器端驗證邏輯。
(5)重寫PreRender事件的事件處理方法OnPreRender,除調用基類實現方法 外,還要實現對用戶端驗證指令檔的註冊。
(6)編寫與驗證控制項一起打包的用戶端驗證指令檔,並且將其放置到正確 的目錄中。
通過以上的一個或者幾個步驟,開發人員就可以實現一個基本的驗證控制項。 在實現過程中,伺服器端驗證邏輯和用戶端驗證邏輯必須保持一致,否則,即使 輸入資料通過了用戶端驗證,也無法通過伺服器端驗證。下面將通過一個典型實 例來進一步說明驗證控制項的實現方法,以加深讀者的理解。
2、典型應用
本節將使用上文所介紹的開發驗證控制項的方法,建立一個名為 TelNumValidator的驗證控制項。該控制項用於驗證使用者輸入的電話號碼是否符合規 則。如果不符合規則,那麼動態提示錯誤資訊。其效果如圖1。
圖1 效果圖(輸入錯誤狀態下)