我写了一个ActionFilter来检查我的模型状态是否有效(以便我可以记录问题):
public class ValidationFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{ ... }
}
我的断点从未被击中,我在Postman中得到了输出:
{ “错误”:{
“ RequiredText”:[
“测试-必须输入RequiredText”
]
},
“ title”:“发生一个或多个验证错误。”,
“状态”:400,
“ traceId”:“ 0HLOBA7E4R7SL:00000002”
}
我假设.NET Core预先进行了验证。
有没有办法关闭此功能,以便使用我的属性?
答案 0 :(得分:0)
我认为您必须通过将SuppressModelStateInvalidFilter
选项设置为true来禁用默认行为。您可以在ConfigureServices方法中将此选项设置为true。喜欢,
public void ConfigureServices(IServiceCollection services)
{
services.Configure<ApiBehaviorOptions>(options =>
{
options.SuppressModelStateInvalidFilter = true;
});
}