在我的ASP.NET应用程序中,我有数据,业务和UI层的单独项目。
我的业务层由具有声明性验证的普通对象组成,使用DataAnnotations。
问题是,当涉及到保存它们时,我不确定如何处理验证,因为它们不直接绑定到任何数据上下文,而是映射到单独的数据层对象。
有没有办法在这些类型的对象上触发验证?
答案 0 :(得分:0)
在this post上的StackOverflow上找到答案(间接)。 (感谢Atwood& Spolsky!)
原来你必须调用Validator类。
所以我在我的POCO中添加了一个Validate()方法:
public void Validate()
{
Validator.ValidateObject(this, new ValidationContext(this, null, null));
}
我还必须将.NET 3.5版本的ComponentModel.DataAnnotations DLL换成更新的.NET 4.0版本,其中包括ValidationContext类等。