编辑- 我们正在使用 MVC4 Dev Preview....
我正在为一个FishingTrip
类实现一个编辑页面。 FishingTrip
包含简单Crew
对象的子集合(即 FishingTripID、CrewID、CrewPosition)。
我正在使用Jarrett Meyer 的方法从Crew
集合中添加、编辑和删除。我正在使用不显眼的验证来指定 的属性Crew
都是Required
.
我的问题:当我从列表中逻辑删除一个项目时(根据 Jarrett 的方法),我不希望验证该项目。
我已经成功地调整了客户端上的“removeRow”方法,以禁用对逻辑删除项目的不显眼验证,这样即使有一个项目包含空白字段,表单也会发布。
在我的控制器方法[HttpPost] Edit
中,ModelState.IsValid
以 false 开始(正如预期的那样 - 因为逻辑删除的项目包含空白字段。)所以我从我的 ViewModel 中删除了该项目......但ModelState.IsValid
仍然是错误的。
总之,我(想我)想在控制器方法中修改我的 ViewModel 以删除有问题的项目,然后调用某种“重新验证”,并ModelState.IsValid
显示为 true。
有任何想法吗?