【问题标题】:Enum Dropdown value required error in RazorRazor 中的 Enum Dropdown value required 错误
【发布时间】:2015-03-26 20:18:21
【问题描述】:

有没有办法让枚举的下拉列表成为可选的?当表单发布此下拉列表没有值时,ModelState.IsValid 评估为 false 并显示此下拉列表需要值的错误。我没有在这个属性上明确使用[Required] 属性。

@Html.EnumDropDownListFor(m => m.People[0].Role, "Select a role", new { @class = "form-control role" })

枚举是:

public enum RoleType { Employee, Visitor, Vendor, Witness }

【问题讨论】:

    标签: c# asp.net-mvc razor enums asp.net-mvc-5


    【解决方案1】:

    属性 m.People[0].Role 在您的模型中是否可以为空。您可以将 RoleType 设置为可为空,这应该会消除验证错误。

    public RoleType? Role {get;set;}
    

    【讨论】:

      【解决方案2】:

      似乎有一种方法可以使用类似的方法从 ModelState 中删除特定属性

      ModelState.Remove("nameOfProperty");
      

      此信息是在以下链接的另一个 Stackoverflow 帖子中找到的

      ModelState.IsValid does not exclude required property

      不确定这是否与您的问题直接相关,但希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-16
        • 2021-06-18
        • 2014-06-20
        • 2022-08-05
        • 1970-01-01
        • 1970-01-01
        • 2019-01-14
        • 1970-01-01
        相关资源
        最近更新 更多