У меня была такая же проблема, и с помощью ValidationApplicationBlock и небольшой функции я получил это. Все с помощью ссылки на сайт Дэвида Хейдена (http://www.davidhayden.com/)
if (thread.HasErrors)
{
AddValidationResults(thread.Errors, ViewData.ModelState, ValueProvider);
return View(thread);
}
Тогда внутри моего BaseController у меня есть:
protected static void AddValidationResults(ValidationResults results,
ModelStateDictionary modelState, IDictionary<string,ValueProviderResult> valueProvider)
{
foreach (ValidationResult result in results)
{
modelState.AddModelError(result.Key,result.Message);
modelState.SetModelValue(result.Key, valueProvider[result.Key]);
}
}
Ключ - вторая строка:
modelState.SetModelValue
Приветствия
Andrew