ModelState:仅验证表单内的属性

时间:2013-06-25 06:38:45

标签: asp.net-mvc data-annotations modelstate

我有一个User类,它有多个字符串属性,所有这些都是必需的。这些属性用于不同的操作,如“创建和更新”。

在我的表单中,在创建操作时,我只使用这些属性的一部分,因此ModelState无效。

有没有办法指定ModelState它应该只验证POST数据中包含的属性(在表单内)?那么缺少的属性会被忽略吗?

3 个答案:

答案 0 :(得分:1)

您可以使用不同的验证属性集为用户创建和其他操作创建不同的模型。

答案 1 :(得分:1)

是的,您应该为每种特定的操作方法创建不同的视图模型(如果它们有特定的要求)。

答案 2 :(得分:0)

您可以使用Foolproof中的RequiredIf属性来实现此目的:

using Foolproof;

[RequiredIf("Tab", "Information")]
public bool UW_AgentCreditReportsAknowlegement { get; set; }

只需使用其中一个属性并设置适当的条件。