如何使用ModelState.AddModelError(key,value)添加的Key在运行时获取ModelState错误

时间:2013-06-18 13:19:25

标签: asp.net-mvc modelstate asp.net-mvc-validation server-side-validation addmodelerror

我使用

从控制器添加了模型错误

if(未选择模型属性) { ModelState.AddModelError("SelectionRequired","Please select atleast one value"); }

我在同一方法的许多地方添加了这个错误,但最终我想向用户展示ModelState错误集合中的一条此类消息。

出于此目的,在返回视图之前,我必须删除除一个之外的所有类似消息。

如何使用“SelectionRequired”即键删除此消息,而不使用“请选择至少一个值”。此“SelectionRequired”不是模型属性名称只是我们想要的键使用

我在运行时检查了ModelState.Keys集合我在这些集合中根本看不到“SelectionRequired”,甚至在ModelState.Values集合中也看不到。那么这个键* “SelectionRequired”去了哪里?以及如何根据它选择错误?

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:2)

这可能有效:

var error = ModelState["SelectionRequired"].Errors.First();
ModelState["SelectionRequired"].Errors.Clear();
ModelState["SelectionRequired"].Errors.Add(error);