日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Silverlight WCF RIA服务(十三)数据 3

發(fā)布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Silverlight WCF RIA服务(十三)数据 3 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如何驗證數(shù)據(jù) 我們對實體和成員屬性添加驗證屬性來實施驗證規(guī)則。WCF RIA Service提供了幾個驗證屬性來執(zhí)行常用的驗證檢測,還提供了CustomValidationAttribute屬性來執(zhí)行自定義的驗證檢測。 如何驗證數(shù)據(jù)
我們對實體和成員屬性添加驗證屬性來實施驗證規(guī)則。WCF RIA Service提供了幾個驗證屬性來執(zhí)行常用的驗證檢測,還提供了CustomValidationAttribute屬性來執(zhí)行自定義的驗證檢測。
在RIA Service中包含了如下的驗證屬性:

  • DataTypeAttribute
  • RangeAttribute
  • RegularExpressionAttribute
  • RequiredAttribute
  • StringLengthAttribute

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

添加一個驗證屬性

  • 為實體類添加一個元數(shù)據(jù)類,可以參考上一節(jié)內(nèi)容。
  • 對想要驗證的實體或成員屬性,添加驗證屬性來執(zhí)行驗證。下面的例子示例如何對一個名字為Address1的成員屬性添加驗證。
    ?
    1 2 3 4 5 [Required] [StringLength(60)] public?string?AddressLine1;

    ?
  • 生成解決方案。
  • 在silverlight的應用項目中,打開Generated_Code文件下的代碼文件,注意到在客戶端代碼中也應用了驗證屬性。
  • 添加自定義驗證屬性

  • 對實體類添加一個元數(shù)據(jù)類。
  • 添加一個共享代碼文件,以*.shared.cs命名。這個文件將會包含一個自定義驗證對象。
  • 添加一個方法來判斷是否數(shù)據(jù)有效。這個方法必須是public和static,還必須返回一個ValidationResult來表示驗證的結(jié)果。下面示例是一個有名為IsProductValid方法的ProductValidator類,這個方法驗證一個Product實體。
    ?
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public?class?ProductValidator { ????public?static?ValidationResult IsProductValid(Product productToValidate, ValidationContext context) ????{ ????????if?(productToValidate.ListPrice < ((decimal).8 * productToValidate.StandardCost)) ????????{ ????????????return?new?ValidationResult("ListPrice is below 80 percent of StandardCost."); ????????} ????????else ????????{ ????????????return?ValidationResult.Success; ????????} ????} }

    ?
  • 對象要驗證的實體或成員屬性,添加[CustomValidationAttribute]批注屬性,并傳遞驗證對象和執(zhí)行驗證的方法的名字。下面的示例顯示了對一個實體應用[CustomValidation]屬性,驗證對象的類型是 ProductValidator,驗證方法的名字是 IsProductValid。
    ?
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 [CustomValidation(typeof(RIAServicesExample.Web.SharedCode.ProductValidator),"IsProductValid")] [MetadataTypeAttribute(typeof(Product.ProductMetadata))] public?partial?class?Product { ????internal?sealed?class?ProductMetadata ????{ ????????// Metadata classes are not meant to be instantiated. ????????private?ProductMetadata() ????????{ ????????} ????????public?string?Color; ????????public?Nullable<DATETIME> DiscontinuedDate; ????????public?decimal?ListPrice; ????????public?DateTime ModifiedDate; ????????public?string?Name; ????????public?Nullable<INT> ProductCategoryID; ????????public?int?ProductID; ????????public?Nullable<INT> ProductModelID; ????????public?string?ProductNumber; ????????public?Guid rowguid; ????????public?Nullable<DATETIME> SellEndDate; ????????public?DateTime SellStartDate; ????????[Required()] ????????[StringLength(20)] ????????public?string?Size; ????????public?decimal?StandardCost; ????????public?byte[] ThumbNailPhoto; ????????public?string?ThumbnailPhotoFileName; ????????public?Nullable<DECIMAL> Weight; ????} }

    ?
  • 生成解決方案。
  • 在Silverlight客戶端,打開Generated_Code文件夾下的文件。注意到在共享代碼中CustomValidationAttribute應用到了實體上。
  • 轉(zhuǎn)載于:https://www.cnblogs.com/Areas/archive/2011/09/09/2172169.html

    總結(jié)

    以上是生活随笔為你收集整理的Silverlight WCF RIA服务(十三)数据 3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。