当前位置: 首页 > 编程语言 > C#

分享_12

时间:2023-04-11 01:20:08 C#

使用属性验证我有,比方说,这个简单的类:在System.ComponentModel.DataAnnotations命名空间中使用Validator.TryValidateProperty和Validator.TryValidateObject。为了让它工作,你需要一个你想要验证的对象的实际实例。但是现在,我想用case来验证一个值,例如:TryValidateValue(typeof(User),"EmailAddress","test@test.com");我的目标是在实际必须实例化对象本身之前测试一个值(因为我只允许创建有效的域实体)。所以实际上我想在类上使用验证属性而不是实例。有什么想法可以做到这一点吗?谢谢!编辑:与此同时,我决定不使用数据注释,而是使用http://fluentvalidation.codeplex。com以便验证移到实体外部。这样,可以从实体内部以及我的命令处理程序中触发验证。由于流利的符号,验证本身似乎更具可读性。以下是TryValidateValue方法的使用示例:以上是《C#学习教程:使用属性验证》分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——放;}}classProgram{staticvoidMain(){varvalue="test@test.com";varcontext=newValidationContext(value,null,null);varresults=newList();varattributes=typeof(User).GetProperty("EmailAddress").GetCustomAttributes(false).OfType().ToArray();if(!Validator.TryValidateValue(value,context,results,attributes)){foreach(varresultinresults){Console.WriteLine(result.ErrorMessage);}}else{Console.WriteLine("{0}有效",value);}}}收藏不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: