2013-10-23 61 views
0

我正在爲複雜類型(例如員工)使用編輯器模板。我這樣做是因爲我想在一個視圖中編輯幾個員工。這工作正常。 現在我需要從控制器添加驗證錯誤。但是,當我簡單地使用ModelState for EditorTemplate

Modelstate.AddModelError 

添加到我的「外」模式,而不是模型我的編輯模板正在與錯誤。我怎樣才能通過錯誤?

感謝您的任何建議!

回答

1

可以指定你的「外模式」(或視圖模型)的屬性由這個驗證問題有關:

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

這將目標MyOuterModel.Employee.FirstName

如果您的視圖模型中有一個Employee對象,則此方法有效。如果您與一羣員工一起工作,則可以編寫string.Format("Employee[{0}].FirstName", i)