leo*_*nes 10 c# asp.net-mvc modelstate
当ModelState.IsValid为false时,如何确定ModelState中哪些键包含错误?通常我只是将鼠标悬停在ModelState.Values列表中,逐项检查错误计数> 0.但是现在我正在处理一个包含复杂对象列表的视图,共计252个ModelState项(每个对象的每个项目)每个列表都有一个ModelState.Keys上的条目.
那么,有没有更容易指出错误来源的方法?
Shy*_*yju 22
您可以检查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);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你真的想要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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12758 次 |
| 最近记录: |