精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何使用C#中的用戶注釋?

譯文
開發 后端
利用數據注釋使用屬性標簽裝飾模型,以便在單單一處管理應用程序的數據定義。

如何使用C#中的用戶注釋?

【51CTO.com快譯】數據注釋(System.ComponentModel.DataAnnotations命名空間的一部分)是可以運用于類或類成員的屬性,以指定類之間的關系、描述數據如何在UI中顯示以及指定驗證規則。本文討論數據注釋、為什么數據注釋很有用以及如何在.NET Core應用程序中使用它們。

若要使用本文提供的代碼示例,您應該在系統中安裝Visual Studio 2019。如果還沒有安裝,可以在此處(https://visualstudio.microsoft.com/downloads/)下載Visual Studio 2019。

在Visual Studio 2019中創建控制臺應用程序項目

首先,不妨在Visual Studio中創建一個.NET Core控制臺應用程序項目。假設系統中已安裝Visual Studio 2019,按照下面概述的步驟在Visual Studio中創建新的.NET Core控制臺應用程序項目。

  1. 啟動Visual Studio IDE。
  2. 點擊“創建新項目”。
  3. 在“創建新項目”窗口中,從顯示的模板列表中選擇“控制臺應用程序(.NET Core)”。
  4. 點擊下一步。
  5. 在接下來顯示的“配置新項目”窗口中,指定新項目的名稱和位置。
  6. 點擊創建。

這將在Visual Studio 2019中創建一個新的.NET Core控制臺應用程序項目。我們在本文后面將使用該項目來處理數據注釋。

添加System.ComponentModel.DataAnnotations命名空間

想使用本文給出的代碼示例,應該將System.ComponentModel.DataAnnotations命名空間添加到您的程序。

注意,屬性用于指定類或屬性的元數據。數據注釋屬性大致分為以下幾類:

  • 驗證屬性——用于對實體的屬性實施驗證規則。
  • 顯示屬性——用于指定數據在用戶界面中應如何顯示。
  • 建模屬性——用于指定類之間存在的關系。

C#中的數據注釋屬性類

System.ComponentModel.Annotations命名空間包含幾個屬性類,它們可用于為您的實體類或數據控件定義元數據。最常用的屬性包括如下:

  • 并發檢查
  • 最大長度
  • 必需
  • 字符串長度
  • 時間戳

C#中的數據注釋示例

在前面創建的控制臺應用程序中的Author.cs文件中創建以下類。

 

  1. public class Author  
  2.  
  3. [Required(ErrorMessage = "{0} is required")]  
  4. [StringLength(50, MinimumLength = 3,  
  5. ErrorMessage = "First Name should be minimum 3 characters and a maximum of 50 characters")]  
  6. [DataType(DataType.Text)]  
  7. public string FirstName { get; set; }  
  8. [Required(ErrorMessage = "{0} is required")]  
  9. [StringLength(50, MinimumLength = 3,  
  10. ErrorMessage = "Last Name should be minimum 3 characters and a maximum of 50 characters")]  
  11. [DataType(DataType.Text)]  
  12. public string LastName { get; set; }  
  13. [DataType(DataType.PhoneNumber)]  
  14. [Phone]  
  15. public string PhoneNumber { get; set; }  
  16. [DataType(DataType.EmailAddress)]  
  17. [EmailAddress]  
  18. public string Email { get; set; }  

 

下列代碼片段表明了您如何創建Author類的實例并為其屬性賦予值。

 

  1. Author author = new Author();  
  2. author.FirstName = "Joydip" 
  3. author.LastName = "" 
  4. author.PhoneNumber = "1234567890" 
  5. author.Email = "joydipkanjilal@yahoo.com"

 

您可以在Program.cs文件的Main方法中編寫下列代碼片段,以驗證模型。

 

  1. ValidationContext context = new ValidationContext(author, nullnull);  
  2. List validationResults = new List();  
  3. bool valid = Validator.TryValidateObject(author, context, validationResults, true);  
  4. if (!valid)  
  5.  
  6. foreach (ValidationResult validationResult in validationResults)  
  7.  
  8. Console.WriteLine("{0}", validationResult.ErrorMessage);  
  9.  

 

ValidationContext這個類為您提供了進行驗證所在的上下文。如果驗證成功,Validator類的TryValidateObject靜態方法返回true,否則返回false。它還返回ValidationResults列表,詳細列出該模型未通過的所有驗證。最后,我們使用foreach循環來迭代處理ValidationResults列表,在控制臺窗口顯示錯誤消息。

完整的代碼片段如下所示,供您參考。

 

  1. public class Author  
  2.  
  3. [Required(ErrorMessage = "{0} is required")]  
  4. [StringLength(50, MinimumLength = 3,  
  5. ErrorMessage = "First Name should be minimum 3 characters and a maximum of 50 characters")]  
  6. [DataType(DataType.Text)]  
  7. public string FirstName { get; set; }  
  8. [Required(ErrorMessage = "{0} is required")]  
  9. [StringLength(50, MinimumLength = 3,  
  10. ErrorMessage = "Last Name should be minimum 3 characters and a maximum of 50 characters")]  
  11. [DataType(DataType.Text)]  
  12. public string LastName { get; set; }  
  13. [DataType(DataType.PhoneNumber)]  
  14. [Phone]  
  15. public string PhoneNumber { get; set; }  
  16. [DataType(DataType.EmailAddress)]  
  17. [EmailAddress]  
  18. public string Email { get; set; }  
  19.  
  20. class Program  
  21.  
  22. static void Main(string[] args)  
  23.  
  24. Author author = new Author();  
  25. author.FirstName = "Joydip" 
  26. author.LastName = ""; //No value entered  
  27. author.PhoneNumber = "1234567890" 
  28. author.Email = "joydipkanjilal@yahoo.com" 
  29. ValidationContext context = new ValidationContext  
  30. (author, nullnull); 
  31. List validationResults = new  
  32. List();  
  33. bool valid = Validator.TryValidateObject  
  34. (author, context, validationResults, true);  
  35. if (!valid)  
  36.  
  37. foreach (ValidationResult validationResult in  
  38. validationResults)  
  39.  
  40. Console.WriteLine("{0}" 
  41. validationResult.ErrorMessage);  
  42.  
  43.  
  44. Console.ReadKey();  
  45.  

 

執行程序后,應該會看到控制臺窗口顯示的下列錯誤消息:

  1. LastName is required 

在C#中創建自定義驗證屬性

想創建自定義驗證屬性類,您應該擴展ValidationAttribute基礎類,并覆蓋IsValid方法,如下列代碼片段所示。

 

  1. [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]  
  2. public class IsEmptyAttribute : ValidationAttribute  
  3.  
  4. public override bool IsValid(object value)  
  5.  
  6. var inputValue = value as string;  
  7. return !string.IsNullOrEmpty(inputValue);  
  8.  

 

下列代碼片段表明了你如何可以使用自定義屬性來裝飾Author類的FirstName和LastName屬性。

 

  1. [IsEmpty(ErrorMessage = "Should not be null or empty.")]  
  2. public string FirstName { get; set; }  
  3. [IsEmpty(ErrorMessage = "Should not be null or empty.")]  
  4. public string LastName { get; set; } 

 

數據注釋最初作為System. ComponentModel. DataAnnotations命名空間的一部分而引入到.NET 3.5中。此后,它已成為.NET中一種廣泛使用的功能。你可以充分利用數據注釋在單單一處定義數據驗證規則,因而沒必要一再重寫同樣的驗證代碼。

原文標題:How to use data annotations in C#,作者:Joydip Kanjilal

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2021-01-20 05:53:25

C# ValueTupleTuple

2015-04-20 11:19:15

2009-08-18 14:29:27

DirectSound

2009-08-19 16:42:41

C#如何使用XML

2015-09-16 15:11:58

C#異步編程

2009-08-06 16:44:03

C#創建WebServ

2024-09-04 08:09:54

2009-03-12 13:49:30

DataTemplatWPFC#

2024-04-16 12:13:07

usingC#開發

2020-12-31 07:31:10

C# 反射數據

2021-06-17 06:52:37

C#自定義異常

2020-02-28 09:00:00

ObjectC#編程語言

2009-08-21 15:37:13

C#空格

2009-08-06 17:15:34

C#開發和使用

2009-08-27 17:47:21

c#皮膚

2009-09-11 11:27:38

AttributeUsC# Attribut

2021-03-07 16:37:52

C#應用程序

2025-01-09 07:54:03

2021-02-01 12:36:59

C# Channels存儲

2024-04-15 16:11:33

C#HTTP請求.NET
點贊
收藏

51CTO技術棧公眾號

亚洲国产一区二区三区在线播放| 黄色成人小视频| 99久久国产综合精品色伊 | b站大片免费直播| 国产一区一一区高清不卡| 一区二区中文字幕在线| 国产精品视频在线免费观看| 日本中文字幕第一页| 午夜影院欧美| 亚洲欧美日韩一区在线| 成人高清在线观看视频| 黑人巨大亚洲一区二区久| 亚洲天堂成人网| 欧美xxxx黑人又粗又长密月 | 亚洲国产精品va在线| 亚洲黄色av网址| 成人观看网址| 亚洲少妇中出一区| 欧美在线日韩精品| 国产综合视频在线| 韩国欧美国产1区| 国产91色在线| 你懂的国产视频| 亚洲澳门在线| 中文字幕最新精品| 欧美 日本 国产| 亚洲精品视频一二三区| 欧美日韩精品欧美日韩精品一| 拔插拔插海外华人免费| 乱人伦中文视频在线| 久久久一区二区| 国产精品12| 国产jzjzjz丝袜老师水多| 日韩av中文字幕一区二区| 668精品在线视频| 久草国产在线视频| 国产精品97| 在线播放日韩专区| 日本激情小视频| 日韩黄色网络| 日韩av在线资源| 911亚洲精选| 榴莲视频成人app| 欧美肥胖老妇做爰| 香港日本韩国三级网站| 香蕉成人影院| 色婷婷av一区二区三区之一色屋| av7777777| sm捆绑调教国产免费网站在线观看| 一区二区三区中文在线观看| 国产av不卡一区二区| 男人的天堂在线视频免费观看 | 九九热国产在线| 国产精品久久占久久| 日韩在线小视频| 国产又粗又长免费视频| 日韩av有码| 中文在线不卡视频| 波多野结衣欲乱| 国产精品黑丝在线播放| 久久av资源网站| 久久久国产精华液| 在线成人国产| 5566成人精品视频免费| 久久亚洲精品石原莉奈 | 男人的天堂最新网址| 欧美性aaa| 6080国产精品一区二区| 91香蕉视频免费看| 日韩中文字幕一区二区高清99| 欧美一级片在线观看| 91大神免费观看| 91麻豆精品国产91久久久久推荐资源| 国产91丝袜在线播放九色| 91在线观看免费高清完整版在线观看| 国产情侣一区二区| 成人亚洲精品久久久久软件| 精品欧美国产一区二区三区不卡| 青青草视频在线观看| 国产午夜三级一区二区三| 日韩欧美99| 米奇精品一区二区三区| 亚洲综合视频在线观看| 黄色片视频在线免费观看| 日韩一区二区三区免费| 91精品欧美福利在线观看| 影音先锋资源av| 国产调教一区二区三区| 久久五月天色综合| 日韩人妻无码一区二区三区99| 亚洲综合国产| 91久久在线播放| 亚洲av成人无码久久精品老人| 久久新电视剧免费观看| 伊人久久大香线蕉综合75| 国产一线二线在线观看| 欧美影视一区在线| 韩国三级在线播放| 视频一区在线观看| 色综合久久久888| 欧美另类69xxxx| 国产综合久久| 国产精品三级久久久久久电影| 亚洲第一大网站| 中文字幕 久热精品 视频在线| 国产青草视频在线观看| 久久人体av| 亚洲成**性毛茸茸| 成人信息集中地| 久久精品一本| 国产综合动作在线观看| 免费超碰在线| 色欧美片视频在线观看 | 91麻豆福利精品推荐| 婷婷视频在线播放| 日韩成人高清| 日韩电影中文字幕一区| 成人观看免费视频| 六月丁香婷婷久久| 欧美性大战久久久久| 丁香花在线电影| 91精品欧美综合在线观看最新| 91久久免费视频| 99热在线精品观看| 国产高清在线一区| 国产精品va在线观看视色| 欧美伊人久久大香线蕉综合69| 黄色激情在线观看| 中文字幕一区二区精品区| 国产精品视频久久久| 日本五码在线| 狠狠久久五月精品中文字幕| 任你躁av一区二区三区| 国内自拍一区| 91日韩久久| 日韩三级免费| 日韩午夜精品电影| 午夜爱爱毛片xxxx视频免费看| 美日韩一区二区三区| 西游记1978| 碰碰在线视频| 日韩精品亚洲精品| 国产精品午夜影院| 91网站视频在线观看| 久久综合九色综合88i| 九九热播视频在线精品6| 欧美人交a欧美精品| 精品国产无码一区二区三区| 亚洲欧美日韩国产综合在线 | 91美女片黄在线| 少妇高清精品毛片在线视频| 国产不卡一二三区| 青青精品视频播放| 国产中文字幕在线观看| 欧美中文字幕亚洲一区二区va在线| 亚洲精品国产91| 三级欧美韩日大片在线看| 日产精品久久久一区二区| 免费电影日韩网站| 在线播放国产一区中文字幕剧情欧美 | 欧美二区不卡| 岛国一区二区三区高清视频| 波多野结依一区| 亚洲黄色www| 成人av网站在线播放| 国产欧美精品国产国产专区 | www.午夜精品| 国产毛片久久久久| 一区二区成人在线观看| 欲求不满的岳中文字幕| 老司机精品视频网站| 亚洲日本精品| 亚洲欧美日本国产| 日本精品免费观看| 日日夜夜精品一区| 日韩三级中文字幕| 中文字幕日韩一级| 国产精品色在线观看| ass极品水嫩小美女ass| 久久电影一区| 欧美精品一区二区性色a+v| 最新国产精品精品视频| 日本乱人伦a精品| 成人av福利| 日韩精品在线观看网站| 在线视频你懂得| 精品久久久久久中文字幕| 91ts人妖另类精品系列| 成人福利视频在线| 天天视频天天爽| 亚洲精品少妇| 中文字幕一区二区三区最新| 欧美三级自拍| 成人性生交xxxxx网站| 欧美aa在线| 久久久成人的性感天堂| 欧美女v视频| 欧美一区二区三区喷汁尤物| 午夜影院免费在线观看| 尤物av一区二区| 日韩视频在线观看免费视频| 成人精品免费看| 在线观看岛国av| 国产精品一卡| 日本黄大片在线观看| 久久激情电影| 欧美日韩电影一区二区三区| 欧美成人一级| 国产精品人成电影在线观看| 国产粉嫩在线观看| 久久亚洲精品一区二区| 国产永久av在线| 日韩精品久久久久| 亚洲国产剧情在线观看| 欧美性三三影院| aaaaaa毛片| 亚洲国产精品久久久久婷婷884 | 五月婷婷综合在线观看| 国产 欧美在线| 亚洲精品在线网址| 久久99精品国产麻豆不卡| 苍井空浴缸大战猛男120分钟| 亚洲青涩在线| a级片一区二区| 一区二区三区在线电影| 亚洲综合第一| 日韩欧美大片| 日韩欧美在线观看强乱免费| 日韩三区视频| 精品欧美国产| 日韩欧美四区| 久久精品一二三区| 国产伦精品一区二区三区在线播放| 亚洲综合自拍一区| 国产精品视频首页| 91久久嫩草影院一区二区| 国产精品.xx视频.xxtv| 国产精品免费看久久久香蕉| 搜成人激情视频| 国产精品精品久久久| 欧美va视频| 国产成人精品视频在线观看| 欧美www.| 国产精品日韩一区| 日韩有码欧美| 成人性生交大片免费观看嘿嘿视频 | www.黄在线观看| 色阁综合伊人av| 欧美jizzhd69巨大| 欧美成人午夜激情在线| 在线观看三级视频| 国语自产精品视频在线看一大j8| 日韩专区av| 91高清在线免费观看| 小草在线视频免费播放| 日本一区二区三区在线播放| 日本肉肉一区| 国产日韩欧美在线观看| 精品一区二区三区中文字幕| 97超碰资源| 色天下一区二区三区| 日本高清一区| 国产精品不卡| 2018国产在线| 日韩在线观看一区二区| 欧美一级xxxx| 国产盗摄视频一区二区三区| 国产一级伦理片| 欧美极品另类videosde| 精品国产大片大片大片| 亚洲伦理在线精品| 日韩精品一区二区三区国语自制| 一本久久精品一区二区| 一级黄色片在线播放| 欧美成人a视频| 男人天堂综合| 欧美精品在线网站| 女人高潮被爽到呻吟在线观看| 日韩暖暖在线视频| 国产午夜久久av| 农村寡妇一区二区三区| 天天综合网91| 久在线观看视频| 麻豆精品久久精品色综合| 日本黄色www| 久久婷婷国产综合国色天香| 顶级黑人搡bbw搡bbbb搡| 午夜精品福利在线| 亚洲视频久久久| 亚洲国产中文字幕在线观看| 成人三级黄色免费网站| 欧美国产一区二区三区| 欧美日韩123区| 国产精品v欧美精品v日韩精品| 国产成人精品免费视| 妺妺窝人体色www看人体| 久久精品五月| 在线观看亚洲免费视频| 国产精品久久久一本精品| 日韩精品一区二区不卡| 欧美一级欧美一级在线播放| 国产免费av高清在线| 久久人人97超碰精品888| 日韩欧美三区| 日本一区二区三区视频免费看| 精品动漫一区| 国产大片一区二区三区| 久久久久久99久久久精品网站| 欧美黄色免费在线观看| 欧美日韩亚洲国产综合| 天天舔天天干天天操| 久久91亚洲人成电影网站| 国产精品久久久久久久久免费高清| 国产美女99p| 女人香蕉久久**毛片精品| 日韩一级免费片| 久久久精品日韩欧美| 欧美一级视频免费观看| 精品欧美黑人一区二区三区| 成年人网站在线| 成人做爰www免费看视频网站| 精品亚洲成人| 情侣黄网站免费看| 99国内精品久久| 欧美成人aaaaⅴ片在线看| 日韩欧美国产午夜精品| 高清免费电影在线观看| 国产精品久久久久久网站| 国内成人自拍| www.xxx亚洲| 国产日韩精品一区二区浪潮av | 美媛馆国产精品一区二区| 亚洲美女91| 亚洲一级av无码毛片精品| 亚洲一区二区在线视频| 精品人妻一区二区三区蜜桃 | 激情开心成人网| 久热国产精品视频一区二区三区| 国产亚洲精品v| 国产中文字幕一区二区| 精品国产乱码久久久久酒店| 神马午夜精品95| 欧美一级黄色网| 美女久久久久| 三级a三级三级三级a十八发禁止| 国产精品三级电影| 亚洲最大成人av| 久久久国产精品x99av| 激情五月综合婷婷| 人人妻人人澡人人爽欧美一区| 国产成人在线观看| 精品无码一区二区三区电影桃花| 精品国产乱码久久久久久1区2区| 国产极品人妖在线观看| 精品国产综合久久| 免费欧美日韩| 黄色一级片一级片| 日韩一区二区三区电影在线观看 | 猫咪在线永久网站| 国产精品普通话| 在线精品视频在线观看高清| 亚洲av无码成人精品区| 精品久久久久久久久久久久| 国产高清一区在线观看| 91视频免费在线| 亚洲承认在线| 韩国三级hd中文字幕| 4438x亚洲最大成人网| 国精一区二区三区| 欧美日韩一区二区三区在线观看免| 免费看黄色91| 久久久久久久久艹| 亚洲乱码国产乱码精品精天堂| 色香欲www7777综合网| 天天综合五月天| www.久久精品| 久久久久精彩视频| 欧美—级a级欧美特级ar全黄| 亚州国产精品| 中文 日韩 欧美| 欧美日韩黄色大片| 麻豆网站在线看| 精品国产乱码久久久久久蜜柚| 视频一区欧美精品| 久久久久久国产精品视频| 亚洲性av网站| 中文字幕亚洲在线观看| 亚洲精品一二三四五区| 亚洲精品日韩一| 黄色国产在线| 国产精品初高中精品久久| 三级在线观看一区二区| 久久久久久激情| 少妇久久久久久| 欧美日韩一区二区三区不卡视频| 老司机久久精品| 日韩欧美一区二区三区| 91小视频xxxx网站在线| 亚洲国产欧洲综合997久久| 成人高清av在线|