微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 ModelStateDictionary 获取键和错误

如何解决从 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 };
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。