Почему MVC все еще проверяет это свойство, поскольку я его уже исключил?
... [Required(ErrorMessage = "Please enter activation code")] public string ActivationCode { get; set; } ...
[HttpPost] public ViewResult CreateAccount([Bind(Exclude = "ActivationCode ")] AccountCreationViewModel m, string returnUrl) ...
Вы исключаете здесь ActivationCode из возможности привязки к вашей модели представления.
Однако ModelBinding по-прежнему будет проверять всю модель.
Я бы предложил создать новую ViewModel дляваша цель или фильтр, предложенный Стивом Сандерсоном здесь
Не уверен, что это точно так же, как у вас, но я сделал что-то вроде этого, и это сработало.
[ValidateInput(true, Exclude="ActivationCode")] [HttpPost] public ViewResult CreateAccount(AccountCreationViewModel m, string returnUrl)