У меня есть контроллер-действие со сложным объектом для входного параметра, который отправляется почтой.В сценарии я бы не хотел, чтобы пользователь отправлял что-то действительное (например, он нажал кнопку «Назад»), но я все еще хочу сохранить состояние формы, поэтому я помещаю это в сеанс.
Тамэто свойство на виртуальной машине, которое называется Valid для отметки результата проверки состояния модели для последующего использования.
Я бы не хотел, чтобы пользователь каким-либо образом отправлял это свойство со стороны клиента (например, устанавливая его в ложное положительное состояние).может привести в замешательство мой код, если я не буду осторожен)(Так что мне не пришлось бы явно устанавливать значение false в моем коде).
Часть моего кода (большая часть из него извлечена)
[HttpPost]
public ActionResult FormWithDelayedValidation(MyVM vm)
{
SessionVariables.Current.OrderSecondVM = vm;
if (ModelState.IsValid)
{
vm.Valid = true;
return Redirect(somewhere);
}
if (vm != null) vm.Valid = false;
return Redirect(somewhere_else);
}