如何在ASP.Net Core MVC 7中集成Fluent Validation并禁用默认验证
禁用ASP.NET Core MVC默认验证,只保留FluentValidation 11验证
要彻底关闭MVC自带的DataAnnotations验证逻辑,只保留FluentValidation的验证行为,只需在注册自动验证服务时添加配置项即可。
修改你Program.cs中的服务注册代码:
builder.Services.AddFluentValidationAutoValidation(options => { // 禁用默认的DataAnnotations验证 options.DisableDataAnnotationsValidation = true; // 可选:若需仅对显式定义Validator的模型做验证,可开启此选项 // options.DisableImplicitValidation = true; }); builder.Services.AddValidatorsFromAssemblyContaining<Program>();
关键说明
DisableDataAnnotationsValidation = true:直接关闭ASP.NET Core原生的基于特性(比如[Required])的验证规则,让ModelState.IsValid完全由FluentValidation的规则控制。- 仅当你希望避免自动验证未定义Validator的模型时,才需要额外启用
DisableImplicitValidation = true,常规场景下只需禁用DataAnnotations验证即可。
修改完成后重新启动项目,默认验证行为就会被禁用,所有模型验证都会使用你定义的FluentValidation规则。
内容的提问来源于stack exchange,提问作者hlapointe
相关产品推荐
相关产品推荐

