ASP.Net MVC:控制器中的访问验证错误消息?

问题描述 投票:3回答:3

有没有办法访问控制器中的验证错误消息。我没有在ModelState中的任何地方找到它们。

asp.net-mvc
3个回答
6
投票

迭代ModelState用于此目的。这些方面的东西:

if (!ModelState.IsValid)
{
    StringBuilder result = new StringBuilder();

    foreach (var item in ModelState)
    {
        string key = item.Key;
        var errors = item.Value.Errors;

        foreach (var error in errors)
        {
            result.Append(key + " " + error.ErrorMessage);
        }
    }

    TempData["Errors"] = result.ToString();
}

1
投票

我意识到这已经过时了,但我偶然发现它正在寻找其他东西并将其留在这里 - 也许有人会发现它很有用:

var err = ModelState.Values.SelectMany(x => x.Errors).Select(e => e.ErrorMessage);

foreach(var y in err)
{
    // add each to your list of strings
}

0
投票

您可以使用Validator验证控制器中的对象

© www.soinside.com 2019 - 2024. All rights reserved.