如何更新 ModelStateDictionary 中的错误值?

How to update error value in ModelStateDictionary?

我正在开发一个 ASP.NET MVC 项目,希望能够在 ModelStateWrapper 中即时更新错误消息,但问题是没有针对特定键的设置方法,字典是只读的。

var x = new ModelStateDictionary(this.ModelState);

foreach (var item in x.modelState)
{
    if (item.Value.Errors.Count > 0)
    {
        foreach (var y in err.errors)
        {
            if (item.Key == y.Key)
            {
                //Some magic needed here to update error name with y.Key                                                
            }
        }
    }
}

有什么实现方法吗?

您可以使用以下方法将错误添加到模型状态字典:

ModelState.AddModelError("ErrorKey", "Error Message");

要更改您可以执行的错误:

ModelState.Remove("ErrorKey");
ModelState.AddModelError("ErrorKey", "New Error Message");