我有一个类用于在MVC中建模我的数据。我添加了一些DataAnotations来标记所需的字段,我使用正则表达式来检查有效的电子邮件地址。如果对象被回发到MVC并且我有可以检查以确认该类是有效的ModelState属性,但是如何使用相同的类和数据Anot来检查该类是否在MVC之外是有效的,一切正常我已经设置好了吗?
答案 0 :(得分:2)
这是我过去使用Data Annotations来获取带注释对象的所有错误的方法(它可以使用一些改进,但它是一个很好的起点:
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);
}
答案 1 :(得分:0)
.NET 3.5中似乎没有任何内置功能。但是,如果您可以针对.NET 4进行开发,那么可以使用Validator类来提供所需的内容: