返回modelState错误消息

时间:2012-03-06 21:13:44

标签: c# asp.net-mvc

我有一个控制器动作,我执行一些验证。我想使用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");

    }

2 个答案:

答案 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的回答或使用您在之前的问题中选择的答案。