我有一个控制器动作,我执行一些验证。我想使用ModelState.AddModelError来汇总错误并一次显示所有错误,但不创建视图并使用返回内容()。这可能吗?到目前为止,这是我的代码:
public ActionResult Validate(string lName, string fName)
{
var lName= DataContext.LName(lName);
var fName = DataContext.FName(fName);
if (lName == null)
ModelState.AddModelError("lName", "Last Name " + lName + " not found);
if (fName== null)
ModelState.AddModelError("fName", "First Name " + fName + " not found);
return Content("Display Error Summary");
}
答案 0 :(得分:3)
您正在将错误添加到MdoelState,但您可能需要测试有效性,如下所示:
if (!ModelState.IsValid)
{
return View();//Show error
}
else
{
return redirectToAction("Index")// No errors so move on
}
然后在你的Razor veiw中
@Html.ValidationSummary(true)
答案 1 :(得分:1)
您之前已经问过这个问题:returning custom error message for multiple variables
你试图混合两种不同的想法。我建议按照LillyPop的回答或使用您在之前的问题中选择的答案。