Если вы не можете изменить метод ValidateInput, чтобы не стирать ваши свойства в этом сценарии, тогда вам действительно понадобятся две копии данных формы, одна для передачи этому методу и одна в резерве для передачи в представление при проверкетерпит неудачу.
Возможно, лучше использовать конкретную модель представления для представления действий, а не полагаться на объект FormCollection.Таким образом, вы можете использовать привязку модели для извлечения данных.
Я думаю, что приведенный ниже код должен работать, но у меня не было возможности протестировать его, так что будьте осторожны!
[HttpPost]
public ActionResult Create(MyCreateViewModel collection)
{
MyCreateViewModel myCVM = new MyCreateViewModel();
TryUpdateModel(myCVM);
ValidateInput(myCVM);
if (ModelState.IsValid == false) return View(collection);