我使用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变量。它将为您提供模型上的属性列表以及它们各自的错误。

10-07 18:39