Mar*_*rty 30 c# fluentvalidation asp.net-web-api
我正在尝试将Fluent验证连接到我的MVC WEB Api项目,它不想工作.
当我使用MyController : Controller
- >工作正常(ModelState.IsValid
返回False
)
但是当我使用MyController :ApiController
......没什么.
有没有人有关于如何挂钩的经验?
Dmi*_*try 19
最新版的Fluent Validation(5.0.0.1)支持web api
只需从Nuget安装它并在Global.asax中注册它,如下所示:
using FluentValidation.Mvc.WebApi;
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
...
FluentValidationModelValidatorProvider.Configure();
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*rty 14
答案就在这个拉取请求中.
基本上您需要实现自定义ModelValidation
Provider.
还有几点需要注意:
Web API不能与System.Web.Mvc命名空间中的modelValidator一起使用,只能使用System.Web.Http中的那些,如下所示:
你不要像这样添加它:
ModelValidatorProviders.Providers.Add(new WebApiFluentValidationModelValidatorProvider());`
Run Code Online (Sandbox Code Playgroud)
但是这样:
GlobalConfiguration.Configuration.Services.Add(typeof(System.Web.Http.Validation.ModelValidatorProvider), new WebApiFluentValidationModelValidatorProvider());`
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
16579 次 |
最近记录: |