asp.net 核心 2.0 验证闪存会话



当验证失败时,我想重定向回验证错误(像Laravel一样(。

Laravel重定向错误示例:

redirect()->back()->withErrors(['email' => 'Email already exists']);

我的控制器:

[HttpPost]
public IActionResult ProcessLogin(LoginRequest loginRequest)
{
    if (! ModelState.IsValid)
    {
        // Redirect back to login view and display error messages.
    }
    // Login handling....
}

asp.net 核心 2.0 本身是否支持此功能?
我能找到的只是以json或javascript验证的形式返回错误。

最典型和标准的方法是PRG(Post-Redirect-Get(模式,ASP.NET 核心(和MVC,一般(遵循。使用此模式,您可以在成功时重定向。如果存在验证问题,只需返回视图即可。换句话说:

public IActionResult Login()
{
    return View();
}
[HttpPost]
public IActionResult Login(LoginRequest loginRequest)
{
    if (ModelState.IsValid)
    {
        // do login
        return Redirect("/some/url");
    }
    return View(loginRequest);
}

ModelState对象(包括验证错误列表(自然可用于视图,而不必以某种方式将错误从一个请求传递到另一个请求。

最新更新