gpt4 book ai didi

c# - 如何判断ModelState的哪个key有错误

转载 作者:可可西里 更新时间:2023-11-01 08:55:14 25 4
gpt4 key购买 nike

当 ModelState.IsValid 为 false 时,如何确定 ModelState 中的哪些键包含错误?通常我只是将鼠标悬停在 ModelState.Values 列表中逐项检查错误计数 > 0。但现在我正在处理一个包含一些复杂对象列表的 View ,总共有 252 个 ModelState 项目(每个对象的每个项目每个列表的 ModelState.Keys 上都有一个条目)。

那么,有没有更简单的方法来指出错误来源呢?

最佳答案

您可以检查 ViewData.ModelState.Values 集合并查看错误是什么。

[Httpost]
public ActionResult Create(User model)
{
if(ModelState.IsValid)
{
//Save and redirect
}
else
{
foreach (var modelStateVal in ViewData.ModelState.Values)
{
foreach (var error in modelStateVal.Errors)
{
var errorMessage = error.ErrorMessage;
var exception = error.Exception;
// You may log the errors if you want
}
}
}
return View(model);
}
}

如果你真的想要Keys(属性名),你可以遍历ModelState.Keys

foreach (var modelStateKey in ViewData.ModelState.Keys)
{
var modelStateVal = ViewData.ModelState[modelStateKey];
foreach (var error in modelStateVal.Errors)
{
var key = modelStateKey;
var errorMessage = error.ErrorMessage;
var exception = error.Exception;
// You may log the errors if you want
}
}

关于c# - 如何判断ModelState的哪个key有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15296069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com