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](Func
1 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.