欄位資料驗證區分成資料規格本身代表的基本驗證,以及 string, int, DateTime 型態資料的驗證,設定方式是在欄位上設定相關的 Attrubute,驗證規於系統啟動時隨同欄位規格一同快取。
<驗證類別>
資料基本驗證
由於 .Net 是強型別程式語言,Boolean, DateTime, Integer, enum 資料型態已然驗證,所以僅 string 型態需提供基本驗證。
基本驗證功能由 Kuick.Data.ValidationBasic 實作,針對 string 屬性進行以下驗證:
型別特殊驗證
<設定驗證方式>
以幾個例子說明驗證設定方式:
1. UserName 長度至少 4 碼
[ColumnSpec]
[ValidationString(BoundaryString.LengthGreaterThan, 3)]
public string UserName { get; set; }
2. 生日限制小於 2012-11-05
[ColumnSpec]
[ValidationDate(BoundaryDate.SmallerThan, "2012-11-05")]
public DateTime Birthday { get; set; }
3. Level 值限定在 0 ~ 9 之間
[ColumnSpec]
[ValidationInteger(BoundaryInteger.Between, 0, 9)]
public int Level { get; set; }
4. Email 格式驗證
[ColumnSpec]
[ValidationString(BoundaryString.IsEmailAddress)]
public string Email { get; set; }
<驗證設定快取>
驗證規於系統啟動時隨同欄位規格一同快取,欄位規格方式請參閱『Kuick -- Schema Cache 規格快取』。
驗證定義介面 IValidation,其實作類別包含:
<觸發驗證時點>
目前整體實作尚未完整,以下內容部份仍在規畫中:
Server Side
IEntity 定義觸發驗證方法 Validate,規畫由 Api 裡 Interceptor 處理前觸發驗證。
Client Side
IValidation 定義前端資料驗證 JavaScript,也已經於各個類別實作出,規畫中一個資料維護後台,將會引用到這些內容。
下一篇『Kuick -- 網頁資料傳遞』裡,將提及如何對於 Post, Get, Cookie 的資料,透過實作 IValidation 的 Attribute 進行資料驗證。
========================================
鐵人賽分享列表:Kuick Application & ORM Framework
開放原始碼專案:kuick.codeplex.com
直接下載原始碼:Kuick
下載相關文件檔:C# Code Conventions and Design Guideline
相關教學影片區:Kuick on YouTube
驗證條件 Hard Code 在程式裡
除了沒法讓你設定外 就是沒法讓你設定
ERP 導入顧問 你還在用這種 限制條件 驗證條件 綁死在程式中 讓你無法調整的系統嗎 ?
albertachen
終於等到有人提出實質的建議,感謝 albertachen 提供寶貴的經驗。
~ 中K
kevinjong提到:
終於等到有人提出實質的建議
阿伯大是我們首席專業顧門口的不二人選
tecksin提到:
阿伯大是我們首席專業顧門口的不二人選
嗯...“口”好像放錯地方了,應是~
啊~~伯大是我們首席專業顧門的不二人選
感謝 同胞熱烈回應 !
albertachen提到:
同胞
這兩個字看起來就爽啊~~~