FluentValidation 7.3.4

A validation library for .NET that uses a fluent interface to construct strongly-typed validation rules.

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.
35
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.
38
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.
41
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
41
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
51
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
53
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
63
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
66
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
72
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
93
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
182
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
205
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
40
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
45
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
49
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
50
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
64
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
89
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
169
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
199

Changes in 7.3: * Major changes to AspNetCore integration including better support for collections and implicit validation (opt-in) * Fix - Updated EnumValidator's Flags support to handle the ~0 value * Fix - TestHelper checking for child validator would respond with the wrong type * Fix - Updated translations for some validators * Fix - Overload of WithName that takes a lambda generated an exception * Added versions of WhenAsync and UnlessAsync that support CancellationTokens * Simplify calls to DependentRules * Add Skip property to CustomizeValidatorAttribute in the ASP.NET Core integration Changes in 7.2: * Updated AspNetCore integration to support IValidatableObject * Updated AspNetCore integration to allow mixing multiple validation strategies in the same model * Updated AspNetCore integration to support RulesetForClientsideMessagesAttribute * Fix - Property names were not generated properly for nested types when using AddFailure inside a Custom validator * Fix - NullReferenceException when using CustomAsync but the validator is invoked synchronously * Fix - Clientside integration in AspNetCore being resolved from the root-level service provider * Fix - Allow empty string to be passed to OverridePropertyName Changes in 7.1.1: * Fix - Incorrect property name was generated when using RuleForEach combined with SetValidator * Fix - Nesting async validators inside DependentRules didn't wait for completion Changes in 7.1: * New RuleFor().Custom() method as a replacement for the old, deprecated Custom method * Improved messages in the ShouldHaveChildValidator test extension * Test helper works with nested properties * Additional overload of WithState allows access to collection item when used with RuleForEach * Fix - Wrong values were generated as part of the MVC5 clientside integration for MinLength and MaxLength validators * Fix - AssemblyScanner now excludes abstract and generic types * Fix - InvalidCastException when using lazy WithMessage combined with RuleForEach * WithState enhanced to allow access to the ValidationContext Changes in 7.0: 7.0 is a major release that contains several breaking changes, especially with Localization. If you use FluentValidation's support for localization please read the updated documentation: https://github.com/JeremySkinner/FluentValidation/wiki/f.-Localization * Localization rewrite to not require satellite assemblies * New 'Custom' rule method replaces the root-level Custom method * Switch to Netstandard based build process * Assemblies are now signed / strongly named - see https://github.com/JeremySkinner/FluentValidation/wiki/l.-Strong-naming-and-signed-packages * Fix - Possible NullReferenceException in the AspNetCore clientside integration for length validators * Fix - Don't clear the ModelValidatorProviders collection by default in the AspNetCore integration (added new ClearValidatorProviders property to control this behaviour) * Fix - Ensure IValidatorFactory is resolved from request scope in asp.net core integration * Fix - Property getter that throws an exception causes validation to fail in WebApi integration * Fix - Issue in AspNetCore integration where we tried to resolve a collection validator in some situations where a class validator should be used * Fix - Incorrect clientside validation attributes generated for email validator and credit card validator in the asp.net core integration * Fix - Child model validation now works in webapi integration * Improve splitting of PascalCased property names to support uppercase character sequences * ValidationResult.ErrorCode property now always returns the type of the PropertyValidator that generated the message, unless it's been explicitly overriden Full release notes can be found at https://github.com/JeremySkinner/FluentValidation/blob/master/Changelog.txt

.NET Framework 4.5

  • No dependencies.

.NET Standard 1.0

.NET Standard 2.0

  • No dependencies.

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