返回ModelState而不是view

时间:2017-03-07 19:39:32

标签: asp.net-mvc

我有一个基本的登录方法,我检查用户登录的电子邮件是否存在于数据库中:

[HttpPost]
public ActionResult Login(Users model)
{
    using (var db = new MySqlContext())
    {
        if (db.Users.FirstOrDefault(u => u.Email == model.Email) == null)
        {
            ModelState.AddModelError(string.Empty, "Email doesn't exist");
            Return SOMETHING
        }
     }
}

正如您所看到的,我已经编写了Return SOMETHING,实际上,我想要的只是将ModelError返回到我的loginform而不是视图。

Fyi,在我看来(这是一个模态)我有一个像这样的标准Validationsummary

@Html.ValidationSummary(true, "", new { @class = "text-danger"})

1 个答案:

答案 0 :(得分:0)

如果您没有返回视图,那么模式后面会显示什么?你将不得不返回某种视图。 (如果您处理this这样的验证,这是我的首选方法,这将由于您从未实际离开页面而得到处理。

要在模态上显示模型的错误消息,您必须在验证失败时重新启动模态。

无论您返回什么视图,您都必须检查模型状态是否有效并重新启动模态。

@if (!ViewData.ModelState.IsValid)
{
    //relaunch you're modal. 
}
相关问题