我正在使用ASP.NET MVC绑定框架。
假设我有一个类Item,它有一个必填字段Id。
我正在绑定一个List,并且不希望此列表中的每个元素都有一条错误消息。
如果在绑定Id字段时发生多个错误,我只希望将一条消息添加到ModelState并显示给用户。
用一句话:有没有办法使用ASP.NET MVC Binding Framework避免重复的消息?
答案 0 :(得分:1)
您可以创建自己的解决方案。例如,模型绑定器可以将模型错误添加为特殊的ModelItemException对象。然后,ActionFilter或基本控制器的OnActionExecuted()方法将遍历ModelState错误,在那里获取所有ModelItemException错误,并将它们合并为单个错误。或者你可以有这样的例外来实现像
这样的东西public interface IItemError
{
public object ItemKey { get; set; }
public string Merge(params Exception[] itemErrors);
}
随意进一步改善这个想法。