Mvc4 RTM проверки выдает ошибку
Что-то изменилось с битами rtm относительно проверки моделей.
У меня есть простая модель, которая выглядит как
public class ProductViewModel
{
[Required]
[DataMember(IsRequired = true)]
public int ProductTypeId { get; set; }
public string Product { get; set; }
}
(Я просто добавил DataMember (IsRequired = true) в качестве сообщения об ошибке, в котором говорится, что он используется для решения проблемы. Однако радости нет)
В моем контроллере состояние модели говорит мне, что модель действительна, однако, когда я пытаюсь передать модель в API, используя RestSharp, я получаю следующую ошибку.
{"Message":"An error has occurred.","ExceptionMessage":"Property 'ProductTypeId' on type 'Mine.Model.Model' is invalid. Value-typed properties marked as [Required] must also be marked with [DataMember(IsRequired=true)] to be recognized as required. Consider attributing the declaring type with [DataContract] and the property with [DataMember(IsRequired=true)].","ExceptionType":"System.InvalidOperationException","StackTrace":" at System.Web.Http.Validation.Validators.ErrorModelValidator.Validate(ModelMetadata metadata, Object container)\r\n at System.Web.Http.Validation.DefaultBodyModelValidator.ShallowValidate(ModelMetadata metadata, ValidationContext validationContext, Object container)\r\n at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container)\r\n at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata metadata, ValidationContext validationContext)\r\n at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container)\r\n at System.Web.Http.Validation.DefaultBodyModelValidator.Validate(Object model, Type type, ModelMetadataProvider metadataProvider, HttpActionContext actionContext, String keyPrefix)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.<>c_DisplayClass1.b_0(Object model)\r\n at System.Threading.Tasks.TaskHelpersExtensions.<>c__DisplayClass361.<>c__DisplayClass38.<Then>b__35()\r\n at System.Threading.Tasks.TaskHelpersExtensions.<>c__DisplayClass49.<ToAsyncVoidTask>b__48()\r\n at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func
1 func, CancellationToken cancellationToken)"}
У меня не было этой проблемы с битами rc, но тогда я только начал использовать библиотеку restsharp с битами rtm.
Любая помощь будет отличной.