有没有办法访问控制器中的验证错误消息。我没有在ModelState中的任何地方找到它们。
迭代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();
}
我意识到这已经过时了,但我偶然发现它正在寻找其他东西并将其留在这里 - 也许有人会发现它很有用:
var err = ModelState.Values.SelectMany(x => x.Errors).Select(e => e.ErrorMessage);
foreach(var y in err)
{
// add each to your list of strings
}
您可以使用Validator验证控制器中的对象