[ASP.NET MVC Web API] 移除模型的屬性驗證

  • 1024
  • 0

摘要:[ASP.NET MVC Web API] 移除模型的屬性驗證

有時候會在成員上加上屬性來做驗證,例如:


            [Required]
            public string Name { get; set; }

但剛好 ASP.NET MVC Web API 預設在模型繫結( Model Binding )時,

會對有繼承 ValidationAttribute 的屬性來做驗證,

這時候你不想要讓 ASP.NET MVC Web API 來驗證時,

就在 Application_Start 的 WebApiConfig.Register 方法裡面第一行設定以下代碼:


config.Services.Clear(typeof(System.Web.Http.Validation.ModelValidatorProvider));

從上述代碼看得出來是清除模型驗證的Provider,

再執行一次就會發現不會驗證模型,就會在 ApiController 看到模型繫結的參數。