liveBook · Manning

AddFluentValidationAutoValidation

As explained in ASP.NET Core in Action, 3e

AddFluentValidationAutoValidation is an ASP.NET Core service-registration method that enables automatic FluentValidation integration for MVC and Razor Pages.

AddFluentValidationAutoValidation configures FluentValidation for ASP.NET Core MVC and Razor Pages. Install the FluentValidation.AspNetCore package, call the method in Program.cs, and register validators with dependency injection. section 32.4.2

A typical setup follows these steps:

  • Install FluentValidation.AspNetCore with the .NET CLI or a project package reference. section 32.4.2
  • Call AddFluentValidationAutoValidation() while configuring services in Program.cs. section 32.4.2
  • Register validators manually or discover them with AddValidatorsFromAssemblyContaining<T>(). section 32.5
  • Set DisableDataAnnotationsValidation to true when FluentValidation should be the only validation system. section 32.4.2
Listing 32.15 Configuring FluentValidation in an ASP.NET Core application
var builder = WebApplication.CreateBuilder(args);
 
builder.Services.AddRazorPages();
 
builder.Services.AddValidatorsFromAssemblyContaining<Program>();   #1
 
builder.Services.AddFluentValidationAutoValidation(                #2
  x => x.DisableDataAnnotationsValidation = true)                  #2
    .AddFluentValidationClientsideAdapters();                      #3
 
ValidatorOptions.Global.LanguageManager.Enabled = false;           #4

This configuration combines validator discovery, automatic validation, optional client-side adapters, and DataAnnotations control. section 32.4.2

Practical configuration

Register validators from the assembly containing Program, then enable automatic validation and disable DataAnnotations validation: builder.Services.AddValidatorsFromAssemblyContaining<Program>(); builder.Services.AddFluentValidationAutoValidation(x => x.DisableDataAnnotationsValidation = true);. Keeping validators near the models they validate is a practical organization choice, not a technical requirement. section 32.4.2

How ASP.NET Core in Action, 3e covers it

How deep it goes
Explains package installation, service configuration, validator registration, and DataAnnotations interaction without detailing validator rule implementation.
Examples
Uses Program.cs configuration, CurrencyConverterModelValidator registration, assembly scanning, and nested Razor Pages input-model validators.
What it assumes
Assumes an ASP.NET Core MVC or Razor Pages application and introduces package installation, Program.cs registration, and validator discovery.
What you can do after
Operate/configure it by installing the package, enabling automatic validation, and registering validators through dependency injection or assembly scanning.
How it connects
Connects FluentValidation with MVC, Razor Pages, dependency injection, validator discovery, client-side adapters, and DataAnnotations.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of ASP.NET Core in Action, 3e. The section links point to the parts of the book it draws on.