WCF RIA 服務 (十三)- 數據 3


如何驗證數據
我們對實體和成員屬性添加驗證屬性來實施驗證規則。WCF RIA Service提供了幾個驗證屬性來執行常用的驗證檢測,還提供了CustomValidationAttribute屬性來執行自定義的驗證檢測。
在RIA Service中包含了如下的驗證屬性:

  • DataTypeAttribute
  • RangeAttribute
  • RegularExpressionAttribute
  • RequiredAttribute
  • StringLengthAttribute

我 們在服務端添加驗證屬性,這些屬性會傳遞給生成的客戶端實體。在運行時,這些驗證規則會應用到客戶輸入的數據上。我們必須通過添加元數據類來添加這些驗證 屬性。

添加一個驗證屬性

  1. 爲實體類添加一個元數據類,可以參考上一節內容。
  2. 對 想要驗證的實體或成員屬性,添加驗證屬性來執行驗證。下面的例子示例如何對一個名字爲Address1的成員屬性添加驗證。
  3. 生 成解決方案。
  4. 在silverlight的應用項目中,打開Generated_Code文件下的代碼文件,注意到在客戶端代碼中也應用 了驗證屬性。

添加自定義驗證屬性

  1. 對實體類添加一個元數據類。
  2. 添 加一個共享代碼文件,以*.shared.cs命名。這個文件將會包含一個自定義驗證對象。
  3. 添加一個方法來判斷是否數據有效。這個方法 必須是public和static,還必須返回一個ValidationResult來表示驗證的結果。下面示例是一個有名爲 IsProductValid方法的ProductValidator類,這個方法驗證一個Product實體。
  4. 對 象要驗證的實體或成員屬性,添加[CustomValidationAttribute]批註屬性,並傳遞驗證對象和執行驗證的方法的名字。下面的示例顯 示了對一個實體應用[CustomValidation]屬性,驗證對象的類型是 ProductValidator,驗證方法的名字是 IsProductValid。

  5. 生 成解決方案。
  6. 在Silverlight客戶端,打開Generated_Code文件夾下的文件。注意到在共享代碼中 CustomValidationAttribute應用到了實體上。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章