Mvc4 RTM-Validierung löst einen Fehler aus

Hat sich etwas an den rtm-Bits bezüglich der Validierung von Modellen geändert?

Ich habe ein einfaches Ansichtsmodell, das aussieht

    public class ProductViewModel
    { 
    [Required]
    [DataMember(IsRequired = true)]
    public int ProductTypeId { get; set; }
    public string Product { get; set; }
    }

(Ich habe gerade das DataMember (IsRequired = true) hinzugefügt, da die Fehlermeldung besagt, dass ich es verwenden soll, um das Problem zu beheben. Jedoch keine Freude)

In meinem Controller gibt der Modellstatus an, dass das Modell gültig ist. Wenn ich jedoch versuche, das Modell mit RestSharp an meine API zu übergeben, wird der folgende Fehler angezeigt.

{"Message": "Ein Fehler ist aufgetreten.", "ExceptionMessage": "Die Eigenschaft 'ProductTypeId' vom Typ 'Mine.Model.Model' ist ungültig. Werttypisierte Eigenschaften, die als [Erforderlich] gekennzeichnet sind, müssen ebenfalls mit [DataMember] gekennzeichnet werden (IsRequired = true)] als erforderlich zu erkennen. Erwägen Sie, den deklarierenden Typ mit [DataContract] und die Eigenschaft mit [DataMember (IsRequired = true)] zuzuweisen. "," ExceptionType ":" System.InvalidOperationException "," StackTrace ": "um System.Web.Http.Validation.Validators.ErrorModelValidator.Validate (ModelMetadata-Metadaten, Objektcontainer) \ r \ n um System.Web.Http.Validation.DefaultBodyModelValidator.ShallowValidate (ModelMetadata-Metadaten, ValidationContext-Container \ rext \ n bei System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren (ModelMetadata-Metadaten, ValidationContext-Validierungskontext, Objektcontainer) \ r \ n bei System.Web.Http.Validation.DefaultBodyModelValidator.ValidatePropertation (ModelModelValidierungskont \ n bei System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren (ModelMetadata-Metadaten, ValidationContext validationContext, Objektcontainer) \ r \ n bei System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProvider, Typ HttpActionContext actionContext, String keyPrefix) \ r \ n bei System.Web.Http.ModelBinding.FormatterParameterBinding. <> C_DisplayClass1.b_0 (Objektmodell) \ r \ n bei 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](Func1 func, CancellationToken CancellationToken) "}

Ich hatte dieses Problem nicht mit den RC-Bits, aber dann habe ich nur damit begonnen, die restsharp-Bibliothek mit den RTM-Bits zu verwenden.

Jede Hilfe wäre toll.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage