我正在使用复杂类型的编辑器模板(例如员工)。我这样做是因为我想在一个视图中编辑几个员工。这很好用。 现在我需要从控制器添加验证错误。但是,当我只是使用
Modelstate.AddModelError
错误被添加到我的“外部”模型中,而不是我的编辑器模板正在使用的模型。我怎样才能通过错误?
感谢您的任何建议!
答案 0 :(得分:1)
您可以通过此验证问题指定“外部模型”(或视图模型)的哪个属性:
ModelState.AddModelError("Employee.FirstName", "FirstName is required");
这将定位MyOuterModel.Employee.FirstName
。
如果视图模型中有一个Employee对象,则此方法有效。如果您与一组员工合作,您可以撰写string.Format("Employee[{0}].FirstName", i)
。