小编Mak*_*hyn的帖子

ASP.NET核心服务器端验证失败导致Microsoft.AspNetCore.Mvc.SerializableError

我使用[EmailAddress]属性来验证服务器端的电子邮件.但是,当我发送无效的电子邮件地址时,我会收到400状态代码响应而没有消息,而不是进入我的操作方法并看到ModelState错误.

调试输出只是说抛出了Microsoft.AspNetCore.Mvc.SerializableError.

请问有人解释一下吗?

模型:

public class LoginVm
{
    [Required(ErrorMessage = "Email cannot be empty.")]
    [EmailAddress(ErrorMessage = "Email has an incorrect format.")]
    public string Email { get; set; }

    [Required(ErrorMessage = "Password cannot be empty.")]
    public string Password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

行动:

[AllowAnonymous]
    [HttpPost]
    public IActionResult Authenticate([FromBody]LoginVm loginVm)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        if (loginVm.Email != "maksym@no.no" || loginVm.Password != "password")
        {
            return NotFound("There is no such user.");
        }

        return Ok();
    }
Run Code Online (Sandbox Code Playgroud)

调试输出:

.net c# asp.net asp.net-mvc .net-core

9
推荐指数
1
解决办法
5877
查看次数

标签 统计

.net ×1

.net-core ×1

asp.net ×1

asp.net-mvc ×1

c# ×1