FluentValidation 9.2.1

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

There is a newer version of this package available.
See the version list below for details.
Install-Package FluentValidation -Version 9.2.1
dotnet add package FluentValidation --version 9.2.1
<PackageReference Include="FluentValidation" Version="9.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FluentValidation --version 9.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FluentValidation, 9.2.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install FluentValidation as a Cake Addin
#addin nuget:?package=FluentValidation&version=9.2.1

// Install FluentValidation as a Cake Tool
#tool nuget:?package=FluentValidation&version=9.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

FluentValidation 9 is a major release. Please read the upgrade notes at https://docs.fluentvalidation.net/en/latest/upgrading-to-9.html

Changes in 9.3.0:
* Improvements to LanguageManager's lazy loading of resources.
* Deprecate IStringSource and its implementors. Use delegates instead.

Changes in 9.2.1:
* Add non-generic Add method to inheritance validator.
* Updates to Persian translations.
* Added Bengali translations.

Changes in 9.2.0:
* Add inheritance validator
* Performance improvements

Changes in 9.1.3:
* Fix an issue with IncludeRulesNotInRuleSet not working correctly

Changes in 9.1.2:
* Make the ValidationContext.ThrowOnFailures getter public.

Changes in 9.1.1:
* Fix an incorrect deprecation message.

Changes in 9.1:
* Make ruleset separator character splitting consistent
* Transform now works with RuleForEach
* Introduce constants for rulesets
* Resolve issue when attempting to use asynchronous conditions in a synchornous validaiton run
* Added asynchronous versions of the TestHelper methods.
* Introduce CascadeMode.Stop and deprecate CascadeMode.StopOnFirstFailure to resolve confusion/abiguity about setting the cascade mode at validator-level (#1437)
* RaiseValidationException can be overridden to customize the exception throwing process
* Add new Validate extension methods that allow options to be configured using a strategy

Changes in 9.0.0:
* Removed support for netstandard1.1 and netstandard1.6
* Removed support for end-of-life .NET Core versions (2.2 and 3.0). LTS versions are supported (2.1 and 3.1)
* Default email validation mode now uses the same logic as ASP.NET Core. Previous regex behaviour is opt-in.
* TestHelper advanced mode now has more features (see https://docs.fluentvalidation.net/en/latest/testing.html#advanced-test-extensions)
* Equal/NotEqual now perform ordinal comparison when used with string properties
* Severity can now be set dynamically with a callback
* Removed WithLocalizedMessage (WithMessage that takes a callback is the replacement)
* Removed ResourceName from ValidationFailure
* Removed ResourceName and ResourceType from IStringSource.
* Removed SetCollectionValidator which was deprecated in 8.0
* Additional overload of OnAnyFailure that can receive a collection of validation failures
* Remove DisplayAttribute integration and reference to DataAnnotations.
* ComparisonProperty placeholder is now formatted like PropertyName
* Translations of default error messages into other languages are now lazily-loaded
* Added Slovenian translations of default error messages.
* Added Icelandic translations of default error messages.
* Added WithMessageArgument to the test helpers.
* Add additional overload of SetValidator that takes a Func that receives the current property value.
* ASP.NET Core: FluentValidationModelValidatorProvider and FluentValidationModelValidator are now public.
* Work around a bug in ASP.NET Core's integration testing components that can cause ConfigureServices to run multiple times.
* SourceLink integration.
* {CollectionIndex} placeholder can now be accessed in child validators.
* Additional ValidationException constructor that allows using both the default message and a custom one together.
* ScalePrecisionValidator algorithm now matches SQL Server.
* Additional overload of the When methods that contain the validation context.
* Automatically scanned types can be excluded when calling RegisterValidatorsFromAssemblyContaining in ASP.NET Core projects.
* New AutomaticValidationEnabled property for use in ASP.NET Core projects (defaults to true).

Full release notes can be found at https://github.com/FluentValidation/FluentValidation/blob/master/Changelog.txt

  • .NETFramework 4.6.1

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (915)

Showing the top 5 NuGet packages that depend on FluentValidation:

Package Downloads
FluentValidation.AspNetCore
AspNetCore integration for FluentValidation
FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation
FluentValidation.WebAPI
ASP.NET WebApi integration for FluentValidation
FluentValidation.MVC5
ASP.NET MVC 5 integration for FluentValidation
MicroElements.Swashbuckle.FluentValidation
Swagger ISchemaFilter that uses FluentValidation validators instead System.ComponentModel based attributes.

GitHub repositories (114)

Showing the top 5 popular GitHub repositories that depend on FluentValidation:

Repository Stars
aspnetboilerplate/aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
NancyFx/Nancy
Lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
abpframework/abp
Open Source Web Application Framework for ASP.NET Core
ThreeMammals/Ocelot
.NET core API Gateway

Version History

Version Downloads Last updated
10.3.0 85,675 7/9/2021
10.2.3 616,906 6/3/2021
10.2.2 61,309 6/1/2021
10.2.1 60,457 5/30/2021
10.2.0 23,750 5/28/2021
10.1.0 722,265 4/28/2021
10.0.4 340,101 4/17/2021
9.5.4 354,536 4/5/2021
9.5.3 934,028 3/15/2021
9.5.2 395,298 3/8/2021
9.5.1 1,390,569 2/11/2021
9.5.0 684,086 1/31/2021
9.4.0 863,967 1/14/2021
9.3.0 3,615,172 11/10/2020
9.3.0-preview3 15,943 10/19/2020
9.3.0-preview2 64,939 9/15/2020
9.3.0-preview1 6,353 8/26/2020
9.2.2 2,425,863 9/20/2020
9.2.1 8,646 9/19/2020
9.2.0 2,838,135 8/26/2020
9.1.3 475,483 8/19/2020
9.1.2 342,078 8/12/2020
9.1.1 235,444 8/8/2020
9.1.0 9,980 8/8/2020
9.0.1 1,528,941 7/14/2020
9.0.0-preview5 51,162 5/23/2020
9.0.0-preview4 57,805 4/22/2020
9.0.0-preview3 102,881 2/29/2020
9.0.0-preview2 23,876 2/21/2020
9.0.0-preview1 50,269 2/8/2020
8.6.3 558,682 8/28/2020
8.6.2 10,742,117 2/29/2020
8.6.1 5,582,083 12/28/2019
8.6.0 2,187,394 12/4/2019
8.5.1 1,857,025 11/2/2019
8.5.0 2,796,995 9/24/2019
8.5.0-preview5 48,589 9/1/2019
8.5.0-preview4 73,417 7/23/2019
8.5.0-preview3 26,258 7/10/2019
8.5.0-preview2 40,944 6/13/2019
8.5.0-preview1 44,352 5/10/2019
8.4.0 7,608,031 5/10/2019
8.3.0 1,532,509 4/24/2019
8.2.3 391,376 4/12/2019
8.2.2 581,485 4/5/2019
8.2.1 112,628 4/4/2019
8.2.0 609,084 3/26/2019
8.1.3 3,429,523 1/25/2019
8.1.2 1,409,103 12/18/2018
8.1.1 409,880 12/11/2018
8.1.0 332,932 12/6/2018
8.1.0-preview2 25,981 11/14/2018
8.1.0-preview1 25,364 10/14/2018
8.0.101 443,815 11/24/2018
8.0.100 2,469,427 9/4/2018
8.0.0 579,531 8/16/2018
8.0.0-rc1 37,615 7/24/2018
8.0.0-preview4 22,228 7/16/2018
8.0.0-preview3 21,000 7/13/2018
8.0.0-preview2 20,767 7/13/2018
7.6.105 720,349 8/11/2018
7.6.104 1,693,047 7/6/2018
7.6.103 790,435 6/16/2018
7.6.102 177,114 6/14/2018
7.6.101 62,385 6/13/2018
7.6.100 133,986 6/7/2018
7.6.0 258,915 6/1/2018
7.6.0-preview1 35,082 4/12/2018
7.5.2 2,099,885 3/16/2018
7.5.1 170,083 3/11/2018
7.5.0 555,876 2/26/2018
7.4.0 834,413 1/26/2018
7.3.4 688,787 1/2/2018
7.3.3 145,595 12/22/2017
7.3.2 47,042 12/21/2017
7.3.1 212,613 12/13/2017
7.3.0 35,776 12/13/2017
7.3.0-beta3 25,419 12/8/2017
7.3.0-beta2 38,620 11/20/2017
7.3.0-beta1 22,384 11/11/2017
7.2.1 1,685,483 10/24/2017
7.2.0 523,172 10/5/2017
7.2.0-beta3 38,102 9/5/2017
7.2.0-beta2 24,090 8/22/2017
7.2.0-beta1 20,829 8/19/2017
7.1.1 1,147,030 7/25/2017
7.1.0 341,706 6/28/2017
7.1.0-beta1 20,670 6/24/2017
7.0.3 459,557 6/7/2017
7.0.2 182,233 5/26/2017
7.0.1 57,796 5/23/2017
7.0.0 280,231 5/19/2017
7.0.0-beta3 24,700 5/1/2017
7.0.0-beta2 24,329 4/17/2017
7.0.0-beta1 21,848 4/7/2017
6.4.1 832,537 3/15/2017
6.4.1-beta1 21,628 3/13/2017
6.4.0 583,535 3/3/2017
6.4.0-rc4 143,009 2/13/2017
6.4.0-rc3 30,641 2/3/2017
6.4.0-rc2 36,944 1/30/2017
6.4.0-rc1 20,732 1/30/2017
6.4.0-beta9 80,370 11/21/2016
6.4.0-beta8 47,306 10/31/2016
6.4.0-beta7 21,286 10/28/2016
6.4.0-beta6 21,708 10/25/2016
6.4.0-beta5 21,408 10/24/2016
6.4.0-beta4 21,438 10/21/2016
6.4.0-beta3 64,759 7/4/2016
6.4.0-beta2 22,287 7/1/2016
6.4.0-beta10 20,590 1/30/2017
6.4.0-beta1 24,489 6/28/2016
6.3.4-alpha 247,096 6/1/2016
6.3.3-alpha 20,986 5/27/2016
6.2.1 2,658,734 2/26/2016
6.2.1-beta1 24,866 2/24/2016
6.2.0 93,156 2/22/2016
6.2.0-beta1 21,084 2/12/2016
6.1.0 265,540 1/18/2016
6.0.2 90,645 1/5/2016
6.0.1 33,586 1/5/2016
6.0.0 71,838 12/22/2015
5.6.2 889,833 5/29/2015
5.6.1 27,572 5/29/2015
5.5.0 702,620 10/31/2014
5.4.0 414,613 7/3/2014
5.3.0 78,661 5/27/2014
5.2.0 53,146 5/21/2014
5.1.0 443,242 3/11/2014
5.0.0.1 236,314 10/24/2013
4.0.0.1 181,509 7/18/2013
4.0.0 90,443 4/29/2013
3.4.6 252,032 8/30/2012
3.4.0 53,329 8/17/2012
3.3.1 43,786 3/30/2012
3.2.0 55,429 11/14/2011
3.1.0 47,807 7/30/2011
3.0.0.1 23,133 7/5/2011
3.0.0 29,318 6/25/2011
2.0.0 43,703 1/9/2011
1.3.0 59,008 1/7/2011
Show less