我有一个使用这样的模型项列表的视图:
List<It4You.AlertBrick.Library.Domain.Order.AbOrderLineItemPicked>
当我获得此列表服务器时,我检查这是否是一种类型的项目,它必须有一个有效的序列号。如果是另一种类型,我会检查用户是否在“已选中”复选框中添加了复选标记。如果这两个都失败了,我想在此行中添加一个模型状态错误。这样做的最佳方式是什么?
答案 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.");
}