如何在非ASP.net上下文中使用C#中的数据验证属性?

前端之家收集整理的这篇文章主要介绍了如何在非ASP.net上下文中使用C#中的数据验证属性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用库程序集中的数据验证属性,以便数据的任何使用者可以在不使用ModelBinder(例如在控制台应用程序中)的情况下对其进行验证。我该怎么做?

解决方法

其实这很酷我最近在世界粮食计划署的验证实施中使用了它。大多数人最终使用反射编写大量代码来迭代属性,但是内置的功能就是这样。 @H_301_6@var vc = new ValidationContext(myObject,null,null); return Validator.TryValidateObject(myObject,vc,true);

您还可以验证单个命名属性上的属性。您还可以选择传入列表以访问错误消息:

@H_301_6@var results = new List<ValidationResult>(); var vc = new ValidationContext(myObject,null) { MemberName = "UserName"}; var isValid = Validator.TryValidateProperty(value,results); // get all the errors var errors = Array.ConvertAll(results.ToArray(),o => o.ErrorMessage);

猜你在找的asp.Net相关文章