【问题标题】:ModelState: Validate only the properties that are inside the formModelState:仅验证表单内的属性
【发布时间】:2013-06-25 06:38:44
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-27
          • 2017-02-26
          • 1970-01-01
          • 2023-03-27
          • 2011-05-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多