从 ModelStateDictionary 获取键和错误
Get keys and errors from ModelStateDictionary
如何从 ModelStateDictionary 中获取键和错误?我有这段代码,但是它执行了太多次,它抛出了重复键错误。
if (!modelstate.IsValid)
{
var errMessages = new Dictionary<string, string>();
foreach (var item in modelstate.Keys)
{
foreach (var item2 in modelstate.Values)
{
foreach (var item3 in item2.Errors)
{
errMessages.Add(item.ToLower(), item3.ErrorMessage);
}
}
}
return new Error { StatusCode = 409, ErrorMessages = errMessages };
}
感谢大家的回答,祝你有愉快的一天:D.
我设法解决了这个问题,但是如果有人有更好的建议,我想看看。
if (!modelstate.IsValid)
{
var errMessages = new Dictionary<string, string>();
var i = 0;
foreach (var item2 in modelstate.Values.SelectMany(p => p.Errors))
{
var key = modelstate.Keys.ToArray();
errMessages.Add(key[i].ToLower(), item2.ErrorMessage);
i++;
}
return new Error { StatusCode = 409, ErrorMessages = errMessages };
}
如何从 ModelStateDictionary 中获取键和错误?我有这段代码,但是它执行了太多次,它抛出了重复键错误。
if (!modelstate.IsValid)
{
var errMessages = new Dictionary<string, string>();
foreach (var item in modelstate.Keys)
{
foreach (var item2 in modelstate.Values)
{
foreach (var item3 in item2.Errors)
{
errMessages.Add(item.ToLower(), item3.ErrorMessage);
}
}
}
return new Error { StatusCode = 409, ErrorMessages = errMessages };
}
感谢大家的回答,祝你有愉快的一天:D.
我设法解决了这个问题,但是如果有人有更好的建议,我想看看。
if (!modelstate.IsValid)
{
var errMessages = new Dictionary<string, string>();
var i = 0;
foreach (var item2 in modelstate.Values.SelectMany(p => p.Errors))
{
var key = modelstate.Keys.ToArray();
errMessages.Add(key[i].ToLower(), item2.ErrorMessage);
i++;
}
return new Error { StatusCode = 409, ErrorMessages = errMessages };
}