使用ViewModel时asp.net mvc IDataErrorInfo验证

时间:2010-06-20 06:12:16

标签: asp.net asp.net-mvc idataerrorinfo

我已经为我的模型使用了IDataErrorInfo验证。 但是当我在视图模型中使用这些模型类时,验证不会发生。

下面的示例视图模型

public class CategoryViewModel    
{
    // Category class with IDataErrorInfo
    public Category category { set; get; }

    // Subcategory class with IDataErrorInfo
    public IList<SubCategory> subcategory { set; get; }
}

现在,如果将Category或Subcategory类直接用作视图模型,则验证工作正常。但是,如果使用CategoryViewModel,则不会进行验证。

1 个答案:

答案 0 :(得分:0)

IDataErrorInfo不适用于子属性。您需要通过绑定到的视图模型(CategoryViewModel)实现此接口。它也是considered as bad practice。作为替代方案,您可以查看DataAnnotationsFluentValidation以获取更高级的验证方案。