首页 > 解决方案 > 在检查 ModelState 是否有效时,有没有办法返回特定的错误?

问题描述

在检查 ModelState 是否有效时,有没有办法返回特定的错误?

假设我正在使用下面的代码检查我的控制器中是否有任何错误。

控制器

if (!ModelState.IsValid)
                return BadRequest( "Invalid request");

我的模型:

[StringLength(500, ErrorMessage = "cant have more than 500 caracteres")]
public string Description { get; set; }

我希望它返回模型错误“不能超过 500 个字符”,我该怎么做?

标签: asp.netasp.net-mvcmodel-view-controller

解决方案


是的,您可以,请参阅ModelState属性。

例子:

if (!ModelState.IsValid)
{
    var message = string.Join(" | ", ModelState.Values
        .SelectMany(v => v.Errors)
        .Select(e => e.ErrorMessage));
    return new HttpStatusCodeResult(HttpStatusCode.BadRequest, message);
}

推荐阅读