我有一个包含我的对象模型的类库。我希望每个对象都有数据注释将验证规则放入我的模型中,以便可以在2个应用程序中共享验证。一个是MVC 2应用程序,另一个是Windows表单应用程序。

我需要能够使用数据注释从代码中手动验证对象模型,但不使用XVAL。当我将对象模型库转换为4.0客户端配置文件时,它不再可以使用XVAL组件构建。域对象类库将使用Windows应用程序分发,因此我想利用4.0客户端配置文件。

有任何想法吗?

有帮助吗?

解决方案

好吧,我会提供更多的答案,以防万一它可能对别人有帮助。

为了验证,我们使用这样的简单验证方法:

public void Validate(T entity)
{
    var context = new ValidationContext(entity, null, null);
    var results = new List<ValidationResult>();

    bool valid = Validator.TryValidateObject(entity, context, results, true);

    if (!valid)
        ; // do something fancy with the results here, perhaps
}

您也可以跳过 TryValidateObject 然后去 ValidateObject 如果您不想对结果做任何幻想。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top