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