EditorTemplate的ModelState

时间:2013-10-23 13:24:36

标签: asp.net-mvc-4

我正在使用复杂类型的编辑器模板(例如员工)。我这样做是因为我想在一个视图中编辑几个员工。这很好用。 现在我需要从控制器添加验证错误。但是,当我只是使用

Modelstate.AddModelError

错误被添加到我的“外部”模型中,而不是我的编辑器模板正在使用的模型。我怎样才能通过错误?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

您可以通过此验证问题指定“外部模型”(或视图模型)的哪个属性:

ModelState.AddModelError("Employee.FirstName", "FirstName is required");

这将定位MyOuterModel.Employee.FirstName

如果视图模型中有一个Employee对象,则此方法有效。如果您与一组员工合作,您可以撰写string.Format("Employee[{0}].FirstName", i)