精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

黑森林精品导航| 国产精品swag| 实拍女处破www免费看| 超碰97国产精品人人cao| 国产xxx精品视频大全| 欧美精品国产精品日韩精品| 极品白嫩丰满美女无套| 成人国产一区| 亚洲一区二区视频在线观看| 久久久婷婷一区二区三区不卡| 无码人妻aⅴ一区二区三区有奶水| 日韩欧美视频在线播放| 欧美大片一区二区三区| 97在线免费公开视频| 午夜在线视频| 91丨porny丨中文| 国产综合福利在线| 日韩不卡视频在线| 91精品国产91久久综合 | 中文字幕黄色av| 欧美精品不卡| 神马久久久久久| 黄色网址在线视频| 久久久国产精品入口麻豆| 精品女厕一区二区三区| 永久免费在线看片视频| 男男激情在线| 成人污视频在线观看| 国产精品美乳一区二区免费| 中文在线观看免费网站| 天天揉久久久久亚洲精品| 日韩经典中文字幕在线观看| 欧美性猛交乱大交| 9.1麻豆精品| 欧洲一区二区av| 91九色在线观看视频| 影音先锋在线播放| 中文字幕在线免费不卡| 日韩福利二区| 免费在线观看污视频| 波多野结衣亚洲一区| 97在线电影| 成人黄色片在线观看| 鲁大师成人一区二区三区| 欧美国产日韩一区二区在线观看 | 亚洲视频在线a| 国产福利在线免费观看| 亚洲激情成人在线| 大桥未久一区二区| 欧美成年黄网站色视频| 国产欧美一区二区三区鸳鸯浴| 蜜桃传媒视频麻豆一区| 欧美日韩免费做爰大片| 91女神在线视频| 精品网站在线看| 五月天激情开心网| 成人av影院在线| 国产一区二区不卡视频| 网站黄在线观看| 99亚偷拍自图区亚洲| 精品日产一区2区三区黄免费| 少妇又色又爽又黄的视频| 成人一级黄色片| 国产麻豆日韩| 天天干天天做天天操| 91丨九色porny丨蝌蚪| 欧美重口乱码一区二区| 激情小视频在线| 国产精品免费看片| 91国产成人在线| 国产黄色激情视频| av免费网站在线| 亚洲一区二区三区在线播放| 久久99久久久久久| 蜜桃av.网站在线观看| 欧美性色视频在线| 国产精品视频黄色| 二区三区精品| 亚洲第一色中文字幕| 精品一区二区视频在线观看| 农村少妇一区二区三区四区五区 | 香港一级纯黄大片| 91首页免费视频| 色姑娘综合网| 91精彩视频在线播放| 亚洲欧洲av一区二区三区久久| 中文字幕超清在线免费观看| 欧美xxxx视频| 色香蕉成人二区免费| 国产精品嫩草影院8vv8| 亚洲91网站| 亚洲精选一区二区| 日韩在线视频网址| 亚洲国产高清一区二区三区| 日韩av电影免费观看高清| 91久久国语露脸精品国产高跟| 国产精品伊人色| 国产精品一区二区你懂得| 蜜桃视频在线观看网站| 亚洲婷婷在线视频| 成人中文字幕在线播放| 黄色欧美视频| 亚洲激情视频网| 俄罗斯毛片基地| 日韩一级在线| 国产欧美一区二区| 亚洲av成人无码久久精品老人| 国产精品久久久一本精品| 99热亚洲精品| 亚洲电影二区| 精品视频久久久久久久| 精品国产欧美日韩不卡在线观看| 亚洲综合精品| 99中文字幕| 国产最新视频在线| 亚洲国产wwwccc36天堂| 污版视频在线观看| 天美av一区二区三区久久| 麻豆国产va免费精品高清在线| www.毛片.com| 粉嫩av亚洲一区二区图片| 日韩影院一区| 91精品产国品一二三产区| 日韩午夜在线播放| av黄色免费在线观看| 欧美亚洲视频| 国产伦精品一区二区三毛| 国产传媒在线播放| 欧美影院精品一区| 亚洲专区区免费| 黄页网站一区| 91麻豆蜜桃| 久热国产在线| 欧美日韩五月天| 亚洲人成人无码网www国产| 国产综合色产| 91国产在线免费观看| 免费在线看a| 欧美日韩精品一区二区三区蜜桃 | 久久久精品美女| 老熟妇一区二区三区啪啪| 91理论电影在线观看| 国产www免费| 大型av综合网站| 欧美国产亚洲视频| www国产一区| 成人欧美一区二区三区| 亚洲这里只有精品| 狠狠做深爱婷婷综合一区| 热99精品只有里视频精品| 头脑特工队2免费完整版在线观看| 中文字幕亚洲一区二区va在线| 美女一区二区三区视频| 成人短片线上看| 国产精品视频一区国模私拍| 成人亚洲性情网站www在线观看| 色呦呦国产精品| 免费观看a级片| 日本成人在线一区| 一区二区三区四区欧美日韩| 九九热这里有精品| 北条麻妃久久精品| 国产人妖一区二区三区| 亚洲精品欧美专区| 又黄又色的网站| 精品av久久久久电影| 国产福利久久| 欧美三级网站| 国产午夜精品一区二区三区| 国产日韩在线免费观看| 国产精品传媒入口麻豆| 国产xxxxhd| 欧美日韩国产高清| 激情小说综合网| 亚洲成人人体| 久久精品国产成人| 亚洲国产视频一区二区三区| 狠狠躁天天躁日日躁欧美| 在线免费看黄视频| 九九九久久久精品| 日韩欧美猛交xxxxx无码| 超碰成人免费| 日韩av手机在线观看| 草碰在线视频| 日韩欧美中文一区| 日本特级黄色片| 国产精品久久久久久一区二区三区| 成年人网站av| 国产欧美日韩一级| 一本久道久久综合狠狠爱亚洲精品| 国产电影一区二区| 欧美一区二区三区…… | 91小视频在线观看| 狠狠躁狠狠躁视频专区| 欧美欧美全黄| 日韩高清三级| 亚洲va欧美va人人爽成人影院| 欧美在线播放视频| 国产色在线观看| 亚洲国产欧美久久| 91精品国产乱码久久久久| 亚洲大尺度视频在线观看| 色欲狠狠躁天天躁无码中文字幕 | 一广人看www在线观看免费视频| 日韩久久精品一区| 成年人晚上看的视频| 亚洲一区在线观看免费 | 国产成人手机高清在线观看网站| 国产日本欧美一区二区三区| 激情国产在线| 久久亚洲精品中文字幕冲田杏梨| 色资源在线观看| 日韩午夜小视频| 亚洲图片视频小说| 精品久久久久久亚洲国产300| 国产suv精品一区二区68| 久久综合九色综合97_久久久| 手机看片国产精品| 日韩不卡一二三区| 日韩xxxx视频| 在线中文一区| 亚洲在线色站| 国产精品片aa在线观看| 国产欧美日韩综合一区在线观看| www.久久爱.com| 国产精品7m视频| 男人天堂视频在线观看| 欧美久久精品午夜青青大伊人| 国产经典自拍视频在线观看| 亚洲精品网址在线观看| 成 人 免费 黄 色| 欧美一区二区视频网站| 中文字幕一区二区人妻痴汉电车| 日韩欧美aⅴ综合网站发布| 久久久久久天堂| 亚洲品质自拍视频| 日韩精品久久久久久久的张开腿让| www一区二区| 免费成人深夜夜行p站| 成人app下载| 在线观看亚洲免费视频| 国产精品888| 美女被艹视频网站| 国产mv日韩mv欧美| 国产成人av片| 国产成人高清在线| 无码人妻一区二区三区精品视频| 狠狠色丁香九九婷婷综合五月| 91插插插插插插插插| 热久久一区二区| 天天操天天摸天天爽| 日韩国产一区二| 黄色三级视频在线| 蜜桃av一区二区在线观看| 欧美伦理视频在线观看| 日韩福利电影在线观看| 网站一区二区三区| 久久丁香综合五月国产三级网站 | 97欧美成人| 国产精品丝袜白浆摸在线| 日本午夜精品久久久久| 成人国产精品色哟哟| 久久的色偷偷| 国产精选一区二区| 亚洲欧洲色图| 相泽南亚洲一区二区在线播放| 日本不卡免费一区| 亚洲精品偷拍视频| 黄色成人91| 国产乱子夫妻xx黑人xyx真爽| 视频一区欧美精品| 97超碰人人爽| 成人性生交大片免费看视频在线| 国产又粗又猛又色| 久久久高清一区二区三区| 91禁男男在线观看| 亚洲男同1069视频| 国产一级淫片a| 一本大道av一区二区在线播放| 这里只有精品免费视频| 在线播放欧美女士性生活| 亚洲a视频在线观看| 日韩成人性视频| 91精品大全| 国产69精品久久久| 最新欧美电影| 亚洲iv一区二区三区| 老司机aⅴ在线精品导航| 日本成人三级| 你懂的国产精品| 日本精品免费在线观看| 久久99热国产| 中文字幕在线播放一区| 中文字幕人成不卡一区| 国产精品111| 欧美日韩亚洲另类| 人妻精品一区二区三区| 伊人久久五月天| 久久久123| 国产精品视频1区| 国产精品美女在线观看直播| 亚洲春色在线视频| 亚洲高清毛片| 性刺激的欧美三级视频| 不卡的av中国片| 欧美做爰爽爽爽爽爽爽| 日本电影亚洲天堂一区| www.麻豆av| 最近2019中文字幕大全第二页| 91在线超碰| 97人人干人人| 欧美岛国激情| 日本成人在线免费视频| 成人久久18免费网站麻豆| 免费精品在线视频| 色噜噜狠狠色综合中国| 亚洲精品网站在线| xxx欧美精品| 国产精品高清乱码在线观看| 国产精品sss| 欧美日本一区| 中文字幕线观看| 国产日韩av一区二区| 亚洲精品www久久久久久| 欧美一区二区视频在线观看2020| 99se视频在线观看| 欧美壮男野外gaytube| 动漫av一区| 在线观看av的网址| 极品美女销魂一区二区三区免费| 黄免费在线观看| 欧美性69xxxx肥| 天堂在线观看免费视频| 欧美国产日韩一区二区在线观看| 国产一区二区三区| 国产高清免费在线| 久草热8精品视频在线观看| 国产一级久久久久毛片精品| 色综合中文综合网| 亚洲欧洲精品视频| 91精品国产91久久久久久不卡| 亚洲综合色婷婷在线观看| 宅男在线精品国产免费观看| 奇米四色…亚洲| 妖精视频在线观看免费| 精品污污网站免费看| 波多野结衣在线影院| 国产精品美女久久| 亚洲成aⅴ人片久久青草影院| 草草久久久无码国产专区| 97精品电影院| 综合激情网五月| 日韩精品在线观看网站| 超碰一区二区| 欧美资源一区| 久久福利资源站| 欧美人禽zoz0强交| 91精品国产色综合久久ai换脸 | 国产欧美综合色| 中文字幕在线观看国产| 日韩在线免费高清视频| 不卡精品视频| 蜜臀av性久久久久蜜臀av| 国产mv日韩mv欧美| 国产精品美女毛片真酒店| 亚洲精品第一页| 国产精欧美一区二区三区蓝颜男同| 欧美一区免费视频| 麻豆精品新av中文字幕| 69xx绿帽三人行| 亚洲福利在线视频| 美女100%一区| 伊人久久青草| 大陆成人av片| 秋霞精品一区二区三区| 社区色欧美激情 | 午夜日韩影院| 草草草在线视频| 亚洲三级在线免费观看| 免费看黄色一级视频| 欧洲中文字幕国产精品| 久久综合电影| xxxx视频在线观看| 色综合天天综合狠狠| 欧美jizz18性欧美| 国产精品一区二区在线观看| 日本最新不卡在线| 美女视频黄免费| 亚洲人成在线观看| 日韩有吗在线观看| 久久精品网站视频| 亚洲品质自拍视频| 牛牛澡牛牛爽一区二区| 92国产精品久久久久首页| 亚洲精选国产| 中国特黄一级片| 亚洲加勒比久久88色综合 | 日本精品视频一区二区| 成人影院在线观看| 欧美性天天影院|