我有一个User
具有多个字符串属性的类,它们都是必需的。这些属性用于不同的操作,例如创建和更新。
在我的表单中,在创建操作时,我只使用了这些属性的一部分,因此,它ModelState
是无效的。
有没有办法指定ModelState
它应该只验证 POST 数据中包含的属性(在表单内)?那么缺少的属性会被忽略吗?
我有一个User
具有多个字符串属性的类,它们都是必需的。这些属性用于不同的操作,例如创建和更新。
在我的表单中,在创建操作时,我只使用了这些属性的一部分,因此,它ModelState
是无效的。
有没有办法指定ModelState
它应该只验证 POST 数据中包含的属性(在表单内)?那么缺少的属性会被忽略吗?
是的,您应该为每个特定的操作方法创建不同的视图模型(如果它们有特定的要求)。
您可以使用不同的验证属性集为用户创建和其他操作创建不同的模型。
您可以使用FoolproofRequiredIf
中的属性来实现此目的:
using Foolproof;
[RequiredIf("Tab", "Information")]
public bool UW_AgentCreditReportsAknowlegement { get; set; }
只需使用其中一个属性并设置适当的条件。