我有一个类用于在 MVC 中对我的数据进行建模。我添加了一些 DataAnotations 来标记必填字段,并且我正在使用正则表达式来检查有效的电子邮件地址。如果对象被回发到 MVC 并且我有 ModelState 属性,我可以检查以确认该类是否有效,但我如何使用相同的类和数据注释检查该类在 MVC 之外是否有效我已经设置了?
问问题
481 次
2 回答
2
这是我过去在数据注释中使用的一种方法,用于获取注释对象上的所有错误(它可以使用一些改进,但这是一个很好的起点:
public static IEnumerable<ErrorInfo> GetErrors(object instance)
{
return from prop in TypeDescriptor.GetProperties(instance).Cast<PropertyDescriptor>()
from attribute in prop.Attributes.OfType<ValidationAttribute>()
where !attribute.IsValid(prop.GetValue(instance))
select new ErrorInfo(prop.Name, attribute.FormatErrorMessage(String.Empty), instance);
}
于 2009-12-04T15:43:33.727 回答
0
.NET 3.5 中似乎没有内置任何东西。但是,如果您可以针对 .NET 4 进行开发,那么有一个 Validator 类可以提供您需要的内容:
于 2010-03-25T18:32:49.883 回答