【问题标题】:ModelState: more information模型状态:更多信息
【发布时间】:2014-07-16 15:28:03
【问题描述】:

我的 ModelState.IsValid 返回 false,但我无法弄清楚验证失败的原因。我对视图模型的任何属性都没有数据注释,所以不明白。

如何确定导致验证失败的原因?我想只有这样我才能弄清楚发生了什么。

【问题讨论】:

  • 任何值类型的东西,比如int,都被自动认为是必需的。与日期时间相同。您是否提交了任何空属性?

标签: asp.net-mvc modelstate


【解决方案1】:

除了数据注释之外,简单的绑定问题也可能导致错误:例如,一个应该是数字但其中包含字母的值。

ModelState.Errors property 包含一组错误信息,您可以检查或遍历这些信息以发现哪些属性有错误,以及为它们生成了哪些错误消息。

【讨论】:

    【解决方案2】:

    您可以使用以下方法捕获错误:

    foreach (ModelState modelState in ViewData.ModelState.Values) {
        foreach (ModelError error in modelState.Errors)
        {        
        // put debug point or add all the errors in collection or list  
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      相关资源
      最近更新 更多