關於驗證模型,rtm位有所更改。Mvc4 RTM驗證拋出錯誤
我有一個簡單的視圖模型看起來像
public class ProductViewModel
{
[Required]
[DataMember(IsRequired = true)]
public int ProductTypeId { get; set; }
public string Product { get; set; }
}
(我剛剛添加的數據成員(IsRequired = true)從錯誤消息我得到說用它來解決這個問題。但是沒有快樂)
在我的控制器中,模型狀態告訴我模型是有效的,但是當我嘗試使用RestSharp將模型傳遞給我的api時,出現以下錯誤。
{「消息」:「發生錯誤」,「ExceptionMessage」:「屬性上型‘Mine.Model.Model’‘ProductTypeId’是無效值類型屬性標記爲[必需]必須。還可以用[DataMember(IsRequired = true)]標記爲需要識別的數據。考慮將聲明類型與[DataContract]以及屬性與[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容器)\ r \ n在System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata元數據,ValidationContext在System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata元數據,ValidationContext validationContext)\ r \ n \ r \ n在System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata元數據,ValidationContext validationContext ,Object容器)\ r \ n在System.Web.Http.Validation.DefaultBodyModelValidator.Validate(Object model,Type type,ModelMetadataProvider metadataProvider,HttpActionContext actionContext,String keyPrefix)\ r \ n System.Web.Http.ModelBinding.FormatterParameterBinding 。 <> c_ DisplayClass1.b _0(Object model)\ r \ n at System.Threading.Tasks.TaskHelpersExtensions。 <> c__DisplayClass36
1.<>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功能,的CancellationToken的CancellationToken)「}
我不是有這個問題與RC位,但後來我纔開始使用restsharp libary與RTM位。
任何幫助將是巨大的。
我有完全相同的問題。 –