使用ASP.NET MVC&Data Annotations验证模型的一部分

我们使用数据注释设置了我们的POCO类。

对于其中的一个类,我们为用户调用多个视图来填充所有数据。 例如,如果它是一个具有用户名和密码作为属性的类,我们将在第一页上让用户指定他们的用户名,并在第二页上指定他们的密码。

现在,如果我使用完整的POCO类(它要求提供用户名和密码),那么当我们要求ModelState.IsValid得到假时,因为密码还没有提供,但我们知道密码将会是在下一页提供!

是否有一种通用的方式来验证模型中应该提供哪些值而不是整个模型的元素? 我知道我可以从ModelState中删除单个项目的错误。

我知道我们可以将模型元素分离出来,为正在执行的条目的每个页面部分分别创建模型,但这感觉就像我们正在改变底层类以更适合视图。

问候

杰米


我相信史蒂夫在这里处理这个问题

http://blog.stevensanderson.com/2010/02/19/partial-validation-in-aspnet-mvc-2/

本质上他筛选出那些没有传入值的键。


尝试将验证放在ViewModel类上。 每个视图都有自己的ViewModel类。 一个用户名,另一个用密码。 在收集您需要的所有数据之前,不要使用该模型。

链接地址: http://www.djcxy.com/p/56587.html

上一篇: Validating PART of the model with ASP.NET MVC & Data Annotations

下一篇: ASP.NET MVC: Is Data Annotation Validation Enough?