【发布时间】:2011-10-20 08:55:40
【问题描述】:
编辑 - 我们正在使用 MVC4 Dev Preview....
我正在为 FishingTrip 类实现一个编辑页面。 FishingTrip 包含一个简单的 Crew 对象的子集合(即 FishingTripID、CrewID、CrewPosition)。
我正在使用Jarrett Meyer's approach 在Crew 集合中添加、编辑和删除。
我正在使用不显眼的验证来指定Crew 的属性都是Required。
我的问题:当我从列表中逻辑删除一个项目时(根据 Jarrett 的方法),我不希望验证该项目。
我已成功调整客户端的“removeRow”方法,以禁用对逻辑删除项目的不显眼验证,这样即使项目包含空白字段,表单也会发布。
在我的控制器方法[HttpPost] Edit 中,ModelState.IsValid 以 false 开始(正如预期的那样 - 因为逻辑删除的项目包含空白字段。)所以我从我的 ViewModel 中删除了该项目....但是@987654331 @ 仍然是错误的。
总之,我(想我)想在控制器方法中修改我的 ViewModel 以删除有问题的项目,然后调用某种“重新验证”,并让 ModelState.IsValid 显示为真。
有什么想法吗?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 unobtrusive-validation asp.net-mvc-4