Повторная проверка измененной ViewModel в методе контроллера?

РЕДАКТИРОВАТЬ - Мы используем предварительную версию MVC4 Dev ....

Я создаю страницу редактирования для Класс FishingTrip . FishingTrip содержит дочернюю коллекцию простых объектов Crew (например, FishingTripID, CrewID, CrewPosition).

Я использую Джарретта Мейера подход для добавления, редактирования и удаления из коллекции Crew . Я использую ненавязчивую проверку, чтобы указать, что свойства Crew все Обязательно .

Моя проблема: когда я логически удаляю элемент из списка (в соответствии с методом Джарретта), я не хочу, чтобы этот элемент проверялся.

Я успешно настроил "removeRow" на стороне клиента, чтобы отключить ненавязчивую проверку для логически удаленного элемента, чтобы форма публиковалась, несмотря на наличие элемента, содержащего пустые поля.

В моем методе контроллера [HttpPost] Edit , ModelState.IsValid начинается как false (как и ожидалось - из-за логически удаленного элемента, содержащего пустые поля). Итак, я удалите этот элемент из моей модели просмотра .... но ModelState.IsValid по-прежнему ложно.

Таким образом, я (думаю, что) хочу изменить свою ViewModel в методе контроллера, чтобы удалить проблемный элемент, затем вызвать своего рода «revalidate», и ModelState.IsValid отображаться как true .

Есть идеи?

53
задан Merenzo 25 October 2011 в 21:43
поделиться