如何将modelstate错误添加到列表中

时间:2011-11-18 08:04:35

标签: c# asp.net-mvc-3 modelstate

我有一个使用这样的模型项列表的视图:

List<It4You.AlertBrick.Library.Domain.Order.AbOrderLineItemPicked>

当我获得此列表服务器时,我检查这是否是一种类型的项目,它必须有一个有效的序列号。如果是另一种类型,我会检查用户是否在“已选中”复选框中添加了复选标记。如果这两个都失败了,我想在此行中添加一个模型状态错误。这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:30)

您可以直接添加到ModelState作为键/值对:

ModelState.AddModelError("error", "Serial is invalid");

然后在您的观点中:@Html.ValidationMessage("error")

答案 1 :(得分:0)

您可以使用for循环在列表中设置错误。 例如;

 for (int i = 0; i <mylist.Count(); i++)
 {
  if (dmylist[i].prop1== null)
     ModelState.AddModelError("dmylist[" + i + "].prop1", "prop1 is required.");
 }