asp.net-mvc-3 - C# .NET MVC3 ModelState.IsValid

标签 asp.net-mvc-3 modelstate

我使用 JSON 从表单中发布数据,ModelState.isValid() 返回 false,我为所有传入数据放置了一个 WriteLine,一切看起来都很好,数据明智,有没有办法显示模型状态错误以找出未验证的内容?
这个确切的代码适用于其他模型

[HttpPost]
public ActionResult mobileCreateAction(Trip trip)
{
    if (ModelState.IsValid)
    {
        System.Diagnostics.Debug.WriteLine("saving");
        DB.Trips.Add(trip);
        DB.SaveChanges();
        return Json(new
        {
            success = true,
            msg = "Success saving trip"
        });
    }
    else
    {
        System.Diagnostics.Debug.WriteLine("invalid model state");
        return Json(new
        {
            success = false,
            msg = "Error saving trip"
        }, JsonRequestBehavior.AllowGet);
    }  
}

谢谢

最佳答案

要获取模型状态中的错误列表:

var errors = ModelState
    .Where(x => x.Value.Errors.Count > 0)
    .Select(x => new { x.Key, x.Value.Errors })
    .ToArray();

然后在这条线上放置一个断点并检查 errors变量。它将为您提供模型上的属性列表及其各自的错误。

关于asp.net-mvc-3 - C# .NET MVC3 ModelState.IsValid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5510814/

相关文章:

c# - 无法解析属性 : PropertyName of: Class error in NHibernate

asp.net-mvc - ASP.NET MVC 编辑器模板

c# - 带有自定义异常的 ASP.NET MVC 2 模型错误

asp.net-mvc - 使用ModelState.Remove处理ModelState是否正确?

model-view-controller - MVC 3 ModelState.IsValid 与多个 ViewModel

asp.net-mvc-3 - PayPal Helper 需要一些帮助

c# - 导出到 MVC3 ASP.net 中的 excel 文件

html - 布局/HTML 中的 MVC 4 错误

c# - 如何使用 LINQ 在 ASP.NET Core 中从 ModelState 中获取充满错误消息的 IEnumerable

c# - 如何确定哪个 ValidationAttribute 返回了 ModelError