FluentValidation 12.1.1

FluentValidation is validation library for .NET that uses a fluent interface and lambda expressions for building strongly-typed validation rules.

Supporting the project

If you use FluentValidation in a commercial project, please sponsor the project financially. FluentValidation is developed and supported by @JeremySkinner for free in his spare time and financial sponsorship helps keep the project going. You can sponsor the project via either GitHub sponsors or OpenCollective.

Example

With FluentValidation, you can define a class that inherits from AbstractValidator which contains the rules for a particular class. The example below shows how you could define rules for a Customer class, and then how to execute the validator.

using FluentValidation;

public class CustomerValidator: AbstractValidator<Customer> {
  public CustomerValidator() {
    RuleFor(x => x.Surname).NotEmpty();
    RuleFor(x => x.Forename).NotEmpty().WithMessage("Please specify a first name");
    RuleFor(x => x.Discount).NotEqual(0).When(x => x.HasDiscount);
    RuleFor(x => x.Address).Length(20, 250);
    RuleFor(x => x.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode");
  }

  private bool BeAValidPostcode(string postcode) {
    // custom postcode validating logic goes here
  }
}

var customer = new Customer();
var validator = new CustomerValidator();

// Execute the validator.
ValidationResult results = validator.Validate(customer);

// Inspect any validation failures.
bool success = results.IsValid;
List<ValidationFailure> failures = results.Errors;

Full Documentation

Full documentation can be found at https://docs.fluentvalidation.net

Release Notes and Change Log

Release notes can be found on GitHub.

Showing the top 20 packages that depend on FluentValidation.

Packages Downloads
Carter
Carter is a library that allows Nancy-esque routing for use with ASP.Net Core.
45
Carter
Carter is framework that is a thin layer of extension methods and functionality over ASP.NET Core allowing code to be more explicit and most importantly more enjoyable.
45
Carter
Carter is framework that is a thin layer of extension methods and functionality over ASP.NET Core allowing code to be more explicit and most importantly more enjoyable.
48
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
43
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
55
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
66
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
73
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
77
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
95
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
186
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
210
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
47
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
51
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
53
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
58
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
70
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
98
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
174
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
206

FluentValidation 12 is a major release. Please read the upgrade guide at https://docs.fluentvalidation.net/en/latest/upgrading-to-12.html Full release notes can be found at https://github.com/FluentValidation/FluentValidation/releases

.NET 8.0

  • No dependencies.

Version Downloads Last updated
12.1.1 2 12/06/2025
12.1.0 3 11/06/2025
12.0.0 18 05/07/2025
12.0.0-preview1 18 01/07/2025
11.12.0 2 12/08/2025
11.11.0 17 11/22/2024
11.10.0 28 09/17/2024
11.9.2 25 06/12/2024
11.9.1 19 05/12/2024
11.9.0 19 02/10/2024
11.8.1 27 03/10/2024
11.8.0 29 12/05/2023
11.7.1 20 12/23/2023
11.7.0 24 12/10/2023
11.6.0 26 03/10/2024
11.5.2 22 03/10/2024
11.5.1 34 02/06/2024
11.5.0 21 03/10/2024
11.4.0 27 12/30/2023
11.3.0 19 01/07/2024
11.2.2 28 12/06/2023
11.2.1 22 10/18/2022
11.2.0 38 09/30/2022
11.1.1 23 12/16/2023
11.1.0 21 12/19/2023
11.0.3 25 12/16/2023
11.0.2 20 03/10/2024
11.0.1 27 02/26/2024
11.0.0 28 03/10/2024
10.4.0 25 03/10/2024
10.3.6 166 02/18/2022
10.3.5 48 12/07/2021
10.3.4 22 11/09/2021
10.3.3 196 09/10/2021
10.3.1 26 01/23/2024
10.3.0 60 08/05/2021
10.2.3 147 06/03/2021
10.2.2 21 01/09/2024
10.2.1 29 12/19/2023
10.2.0 24 11/08/2023
10.1.0 21 01/18/2024
10.0.4 51 04/23/2021
9.5.4 29 01/21/2024
9.5.3 31 03/29/2021
9.5.2 25 03/10/2024
9.5.1 22 12/08/2023
9.5.0 27 12/07/2023
9.4.0 26 01/11/2024
9.3.0 53 12/10/2020
9.3.0-preview3 22 12/04/2023
9.3.0-preview2 27 12/22/2023
9.3.0-preview1 26 12/11/2023
9.2.2 19 03/10/2024
9.2.1 25 12/22/2023
9.2.0 26 01/20/2024
9.1.3 21 12/03/2023
9.1.2 19 12/16/2023
9.1.1 27 03/10/2024
9.1.0 26 12/16/2023
9.0.1 23 12/12/2023
9.0.0-preview5 24 03/10/2024
9.0.0-preview4 19 03/10/2024
9.0.0-preview3 25 02/05/2024
9.0.0-preview2 22 03/10/2024
9.0.0-preview1 22 03/10/2024
8.6.3 33 03/10/2024
8.6.2 30 12/09/2020
8.6.1 22 03/10/2024
8.6.0 22 02/04/2024
8.5.1 23 12/13/2023
8.5.0 29 12/14/2023
8.5.0-preview5 26 12/27/2023
8.5.0-preview4 23 12/27/2023
8.5.0-preview3 18 03/10/2024
8.5.0-preview2 23 12/03/2023
8.5.0-preview1 25 12/23/2023
8.4.0 28 03/10/2024
8.3.0 25 12/25/2023
8.2.3 25 12/18/2023
8.2.2 20 12/10/2023
8.2.1 21 03/10/2024
8.2.0 21 01/10/2024
8.1.3 24 01/19/2024
8.1.2 23 12/03/2023
8.1.1 26 03/10/2024
8.1.0 26 12/05/2023
8.1.0-preview2 24 12/21/2023
8.1.0-preview1 23 12/26/2023
8.0.101 20 01/11/2024
8.0.100 19 02/09/2024
8.0.0 21 01/21/2024
8.0.0-rc1 20 03/10/2024
8.0.0-preview4 27 12/03/2023
8.0.0-preview3 22 01/08/2024
8.0.0-preview2 20 12/14/2023
7.6.105 21 12/12/2023
7.6.104 20 12/11/2023
7.6.103 22 12/03/2023
7.6.102 20 01/18/2024
7.6.101 26 02/24/2024
7.6.100 27 12/07/2023
7.6.0 32 02/08/2024
7.6.0-preview1 22 12/06/2023
7.5.2 22 12/15/2023
7.5.1 25 12/21/2023
7.5.0 30 12/08/2023
7.4.0 19 11/29/2023
7.3.4 24 11/08/2023
7.3.3 22 03/10/2024
7.3.2 25 12/07/2023
7.3.1 20 12/15/2023
7.3.0 21 12/17/2023
7.3.0-beta3 22 03/10/2024
7.3.0-beta2 22 03/10/2024
7.3.0-beta1 25 01/09/2024
7.2.1 22 12/17/2023
7.2.0 23 03/10/2024
7.2.0-beta3 20 03/10/2024
7.2.0-beta2 25 03/10/2024
7.2.0-beta1 23 03/10/2024
7.1.1 25 12/10/2023
7.1.0 26 03/10/2024
7.1.0-beta1 22 03/10/2024
7.0.3 26 12/14/2023
7.0.2 18 03/10/2024
7.0.1 26 03/10/2024
7.0.0 24 03/10/2024
7.0.0-beta3 29 12/18/2023
7.0.0-beta2 22 03/10/2024
7.0.0-beta1 29 03/10/2024
6.4.1 24 12/05/2023
6.4.1-beta1 26 03/10/2024
6.4.0 20 12/24/2023
6.4.0-rc4 28 03/10/2024
6.4.0-rc3 25 03/10/2024
6.4.0-rc2 22 03/10/2024
6.4.0-rc1 23 03/10/2024
6.4.0-beta9 20 03/10/2024
6.4.0-beta8 24 01/02/2024
6.4.0-beta7 19 03/10/2024
6.4.0-beta6 25 03/10/2024
6.4.0-beta5 31 12/16/2023
6.4.0-beta4 22 03/10/2024
6.4.0-beta3 27 01/18/2024
6.4.0-beta2 26 12/23/2023
6.4.0-beta10 18 12/21/2023
6.4.0-beta1 24 03/10/2024
6.3.4-alpha 24 12/11/2023
6.3.3-alpha 24 12/26/2023
6.2.1 25 03/10/2024
6.2.1-beta1 21 01/06/2024
6.2.0 24 03/10/2024
6.2.0-beta1 22 03/10/2024
6.1.0 24 03/08/2024
6.0.2 23 03/10/2024
6.0.1 21 01/29/2024
6.0.0 24 03/10/2024
5.6.2 23 01/19/2024
5.6.1 24 03/10/2024
5.5.0 34 02/10/2024
5.4.0 22 03/10/2024
5.3.0 23 12/10/2023
5.2.0 20 12/06/2023
5.1.0 25 12/16/2023
5.0.0.1 27 11/08/2023
4.0.0.1 24 11/08/2023
4.0.0 24 03/10/2024
3.4.6 24 12/05/2023
3.4.0 26 12/30/2023
3.3.1 22 03/10/2024
3.2.0 22 12/03/2023
3.1.0 22 12/21/2023
3.0.0.1 25 11/08/2023
3.0.0 23 03/10/2024
2.0.0 26 03/10/2024
1.3.0 31 01/12/2024