SBi*_*are 5 asp.net-mvc c#-4.0 visual-studio-2012
在 ASP.NET MVC 中,当我们使用一些数据调用 post 操作时,我们会检查 ModelState,如果出现一些验证错误,它将是错误的。对于一个大的输入用户信息表单,展开每个值并查看计数以查看哪个键(附加示例图像中的 9 个)具有验证错误是很烦人的。想知道是否有人知道一种简单的方法来找出导致验证错误的元素。
在 VS2015+ 中,您可以在即时窗口中使用 LINQ,这意味着您只需运行以下命令:
ModelState.SelectMany(
x => x.Value.Errors,
(state, error) => $"{state.Key}: {error.ErrorMessage}"
)
Run Code Online (Sandbox Code Playgroud)
我建议写一个方法:
namespace System.Web
{
using Mvc;
public static class ModelStateExtensions
{
public static Tuple<string, string> GetFirstError(this ModelStateDictionary modelState)
{
if (modelState.IsValid)
{
return null;
}
foreach (var key in modelState.Keys)
{
if (modelState[key].Errors.Count != 0)
{
return new Tuple<string, string>(key, modelState[key].Errors[0].ErrorMessage);
}
}
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在调试过程中打开立即窗口并输入:
ModelState.GetFirstError()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3119 次 |
最近记录: |