SilverLight資料輸入驗證一:System.ComponentModel.DataAnnotations概述

來源:互聯網
上載者:User

概述:

 System.ComponentModel.DataAnnotations 命名空間

提供用於為實體類定義中繼資料的屬性類別。

公用類:

說明
AssociationAttribute 指定某個實體成員表示某種資料關係,如外鍵關係。
ConcurrencyCheckAttribute 指定某屬性將參與開放式並發檢查。
CustomValidationAttribute 指定要執行的自訂方法以驗證實體成員。
DataTypeAttribute 指定要與實體成員關聯的附加類型的名稱。
DisplayAttribute 為在使用者介面中使用的實體類型和成員指定可本地化的字串。
DisplayColumnAttribute 指定在將表用作外鍵關係中的父表時要顯示的屬性、用於排序的屬性以及排序次序。
DisplayFormatAttribute 指定如何顯示資料欄位以及如何設定資料欄位的格式。
EditableAttribute 指定使用者是否應能夠更改實體屬性的值。
EnumDataTypeAttribute 指定某個實體成員對應於某個枚舉類型。
FilterUIHintAttribute 指定列的篩選行為。
KeyAttribute 指定一個或多個要用作實體的唯一標識的實體屬性。
RangeAttribute 為關聯成員指定最小值和最大值約束。
RegularExpressionAttribute 指定用於驗證關聯成員的Regex。
RequiredAttribute 指定必須為屬性提供值。
StringLengthAttribute 指定一個實體成員允許的最大字元數和最小字元數。
TimestampAttribute 將某個成員指定為時間戳記值。
UIHintAttribute 指定用於顯示關聯實體成員的控制項和值。
ValidationAttribute 作為所有驗證屬性的基類。
ValidationContext 提供有關要驗證的類型或成員的資訊。
ValidationException 表示在驗證使用某個驗證屬性標記的成員期間出現的異常。
ValidationResult 包含驗證請求的結果。
Validator 提供成員以協助使用關聯 ValidationAttribute 屬性的值驗證對象和成員。

 

枚舉:

 

枚舉 說明
DataType 表示與資料屬性關聯的資料類型。

 

SilverLight的Validation驗證:

在應用中,當需要使用者互動輸入時,開發人員都會加入一些驗證代碼,這樣可以有效避免應用異常出現,也可以使應用的錯誤提示資訊清晰明了的顯示在用戶端,有利於異常定位,同時也提高使用者體驗。特別是在商業應用項目中,使用Validation功能,可以在資料存入存放裝置前,進行格式,以及內容的校正,這樣也提高了資料存放區的安全性。

 

SilverLight的Validation驗證概述

Validation,是驗證,校正的意思,通常發生在使用者輸入資料後,進行驗證判斷,以確認使用者輸入正確資訊。在驗證的方法中,我們可以簡單的從兩個驗證類型理解Validation:

1. 語法驗證:

該驗證類型是通過成員的資料類型定義對比驗證當前輸入資料類型得出的驗證結果;

例如,定義一個int類型,而賦值是string時,則會返回錯誤異常,驗證控制項,將擷取該異常資訊反饋到用戶端;

 public int Zip {get;set}

語法驗證經常發生在資料改變之前,其表現方式會在UI中體現;

2. 語意驗證:

該驗證類型是將當前輸入資料根據特定資料限制代碼進行驗證;

例如:指定某TextBox為必須輸入,或者限定某TextBox內容長度,或者使用Regex控制其輸入內容,最典型的例子是對電子郵件地址的驗證:

 

 

 

常見的驗證效果:

 Ajax Validation:

而Silverlight同樣提供類似於ASP.NET驗證控制項的支援,在Silverlight Toolkit開源項目中,包含Data Input的Validation示範,

簡單資料繫結驗證,

為ValidationSummary控制項示範:

為一個簡單的資料繫結,異常捕獲驗證時序圖可以說明這一驗證原理。 

作者:記憶逝去的青春
出處:http://www.cnblogs.com/lukun/
本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,如有問題,可以通過http://www.cnblogs.com/lukun/  聯絡我,非常感謝。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.