FluentValidation 7.6.0-preview1

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
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
185
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
188
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
189
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
198
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
201
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
215
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
223
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
436
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
784
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
1,192
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
196
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
211
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
241
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
443
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
531
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
224
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
240
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
310
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
598
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
707

Changes in 7.5.2: * RuleSet method can now take multiple ruleset names by usinga comma-separated string. * Make setters on ValidationFailure's properties public to allow for easier deserialization. * Additional overload for OverridePropertyName that takes an expression. * Add overload of Include that takes a func to lazily create the inner validator. * Make error code resolution pluggable using ValidatorOptions.ErrorCodeResolver Changes in 7.5.1: * Resolved issues with referencing FluentValidation from legacy PCLs. * Added support for CustomizeValidatorAttribute to the legacy WebApi integration for consistency with MVC5 and AspNetCore. Changes in 7.6: * Update ASP.NET Core integration to ASP.NET Core 2.1 Changes in 7.5: * Better handling of clientside messages when using custom overriden language resources * Added flag in the ValidationContext's RootDataContext when a validator is invoked by the automatic MVC/WebApi integration * Improvements to some of the validation tester's messages * Added Transform method to transform property values prior to validation * Improve support for DisplayAttribute / DisplayNameAttribute when inferring property display name * New language translations (Slovak/Hebrew/Brazilian Portuguese) * Cache display names by default * Ensure ShouldHaveChildValidator test method works with model-level rules * Removed netstandard1.0 support. Supported platforms are now netstandard1.1, netstandard2.0 and net45. Changes in 7.4: * Improved syntax for DependentRules * ValidationException serialization support when running on full framework * Added ComparisonProperty placeholder to some validators * The Test Helper now correctly handles read-only properties * Add CancellationToken support to ValidateAndThrowAsync and various ValidateAsync overloads * Improved functionality for custom MessageBuilders * Updated AspNetCore integration to MVC version 2.0.2 * Update MVC5 AddToModelState extension not to overwrite existing attempted values * Added SetRulesetForClientsideMessages method for MVC5/AspNetCore as an alternative to using the RulesetForClientSideMessagesAttribute 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

Version Downloads Last updated
12.2.0 0 10/10/2026
12.1.1 270 12/04/2025
12.1.0 256 11/04/2025
12.0.0 383 05/06/2025
12.0.0-preview1 138 01/03/2025
11.12.0 118 11/07/2025
11.11.0 381 11/20/2024
11.10.0 412 09/20/2024
11.9.2 300 06/27/2024
11.9.1 166 07/22/2024
11.9.0 322 02/05/2024
11.8.1 201 07/22/2024
11.8.0 167 07/22/2024
11.7.1 144 07/22/2024
11.7.0 153 07/22/2024
11.6.0 172 07/22/2024
11.5.2 158 07/22/2024
11.5.1 317 02/04/2024
11.5.0 158 07/22/2024
11.4.0 158 07/17/2024
11.3.0 181 02/04/2024
11.2.2 163 07/22/2024
11.2.1 171 07/22/2024
11.2.0 166 07/22/2024
11.1.1 155 07/22/2024
11.1.0 163 07/13/2024
11.0.3 171 07/22/2024
11.0.2 159 07/22/2024
11.0.1 154 07/22/2024
11.0.0 169 07/22/2024
10.4.0 269 02/04/2024
10.3.6 151 07/22/2024
10.3.5 141 07/22/2024
10.3.4 172 07/17/2024
10.3.3 166 07/17/2024
10.3.1 175 07/22/2024
10.3.0 155 05/29/2024
10.2.3 177 07/22/2024
10.2.2 158 07/22/2024
10.2.1 145 07/22/2024
10.2.0 159 07/22/2024
10.1.0 165 07/22/2024
10.0.4 182 07/22/2024
9.5.4 177 07/22/2024
9.5.3 156 07/22/2024
9.5.2 168 07/22/2024
9.5.1 152 07/22/2024
9.5.0 174 02/09/2024
9.4.0 164 07/22/2024
9.3.0 170 07/22/2024
9.3.0-preview3 171 07/22/2024
9.3.0-preview2 156 07/22/2024
9.3.0-preview1 193 07/22/2024
9.2.2 159 07/22/2024
9.2.1 154 07/18/2024
9.2.0 148 07/22/2024
9.1.3 174 07/22/2024
9.1.2 157 07/22/2024
9.1.1 154 07/22/2024
9.1.0 158 07/22/2024
9.0.1 168 07/22/2024
9.0.0-preview5 169 07/22/2024
9.0.0-preview4 146 07/22/2024
9.0.0-preview3 165 07/22/2024
9.0.0-preview2 148 07/22/2024
9.0.0-preview1 156 07/22/2024
8.6.3 166 07/22/2024
8.6.2 158 07/22/2024
8.6.1 154 07/22/2024
8.6.0 163 07/22/2024
8.5.1 158 07/21/2024
8.5.0 162 07/18/2024
8.5.0-preview5 160 07/22/2024
8.5.0-preview4 164 07/22/2024
8.5.0-preview3 161 07/22/2024
8.5.0-preview2 176 07/22/2024
8.5.0-preview1 153 07/22/2024
8.4.0 175 07/22/2024
8.3.0 167 07/22/2024
8.2.3 154 07/22/2024
8.2.2 156 07/22/2024
8.2.1 161 07/22/2024
8.2.0 167 07/22/2024
8.1.3 178 07/22/2024
8.1.2 154 07/22/2024
8.1.1 152 07/22/2024
8.1.0 179 07/22/2024
8.1.0-preview2 163 07/22/2024
8.1.0-preview1 164 07/22/2024
8.0.101 167 07/22/2024
8.0.100 155 07/17/2024
8.0.0 154 07/22/2024
8.0.0-rc1 166 07/22/2024
8.0.0-preview4 151 07/22/2024
8.0.0-preview3 160 07/22/2024
8.0.0-preview2 166 07/22/2024
7.6.105 147 07/22/2024
7.6.104 157 07/22/2024
7.6.103 153 07/22/2024
7.6.102 157 07/22/2024
7.6.101 158 07/22/2024
7.6.100 161 07/22/2024
7.6.0 169 07/22/2024
7.6.0-preview1 170 07/22/2024
7.5.2 151 07/22/2024
7.5.1 154 06/21/2024
7.5.0 164 07/22/2024
7.4.0 171 07/22/2024
7.3.4 153 07/22/2024
7.3.3 167 07/22/2024
7.3.2 155 07/22/2024
7.3.1 158 07/22/2024
7.3.0 159 07/22/2024
7.3.0-beta3 171 07/22/2024
7.3.0-beta2 167 07/22/2024
7.3.0-beta1 174 07/22/2024
7.2.1 162 07/22/2024
7.2.0 153 07/22/2024
7.2.0-beta3 154 07/22/2024
7.2.0-beta2 165 07/22/2024
7.2.0-beta1 185 07/22/2024
7.1.1 151 07/22/2024
7.1.0 146 07/22/2024
7.1.0-beta1 157 07/22/2024
7.0.3 159 07/22/2024
7.0.2 151 07/22/2024
7.0.1 171 07/22/2024
7.0.0 150 07/22/2024
7.0.0-beta3 159 07/22/2024
7.0.0-beta2 166 07/22/2024
7.0.0-beta1 145 07/22/2024
6.4.1 177 07/22/2024
6.4.1-beta1 190 07/22/2024
6.4.0 163 07/22/2024
6.4.0-rc4 190 07/22/2024
6.4.0-rc3 157 07/22/2024
6.4.0-rc2 172 07/22/2024
6.4.0-rc1 172 07/22/2024
6.4.0-beta9 200 07/22/2024
6.4.0-beta8 198 07/22/2024
6.4.0-beta7 161 07/22/2024
6.4.0-beta6 179 07/22/2024
6.4.0-beta5 177 07/22/2024
6.4.0-beta4 172 07/22/2024
6.4.0-beta3 169 07/22/2024
6.4.0-beta2 165 07/22/2024
6.4.0-beta10 183 07/22/2024
6.4.0-beta1 145 07/22/2024
6.3.4-alpha 169 07/22/2024
6.3.3-alpha 152 07/22/2024
6.2.1 160 07/22/2024
6.2.1-beta1 162 07/22/2024
6.2.0 154 07/22/2024
6.2.0-beta1 165 07/22/2024
6.1.0 165 07/22/2024
6.0.2 150 07/22/2024
6.0.1 163 07/22/2024
6.0.0 161 07/22/2024
5.6.2 162 07/22/2024
5.6.1 158 07/22/2024
5.5.0 172 07/22/2024
5.4.0 164 07/22/2024
5.3.0 166 07/21/2024
5.2.0 159 07/22/2024
5.1.0 168 07/22/2024
5.0.0.1 155 07/22/2024
4.0.0.1 163 07/22/2024
4.0.0 174 07/22/2024
3.4.6 149 07/22/2024
3.4.0 189 07/22/2024
3.3.1 180 07/22/2024
3.2.0 171 07/22/2024
3.1.0 166 07/22/2024
3.0.0.1 149 07/22/2024
3.0.0 181 07/22/2024
2.0.0 153 07/22/2024
1.3.0 165 07/22/2024