FluentValidation 7.6.104

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

No packages depend on FluentValidation.

Changes in 7.6.104:

  • Added AbstractValidator.PreValidate to allow immediate cancellation of validation.

Changes in 7.6.103:

  • Using [BindProperty] in AspNetCore now works when implicit child validation is disabled.
  • ShouldHaveChildValidator now works when the child validator is inside a DependentRules block.
  • Test helpers are now compatible with custom property name resolvers set using ValidatorOptions.PropertyNameResolver.
  • Switched to embedded debug symbols.

Changes in 7.6.102:

  • Fixed a regression where calling ValidateAsync with RuleForEach would no longer execute tasks sequentially (#799).

Changes in 7.6.101:

  • Added support for RuleForEach to the testing extensions (#238).
  • Fixed a regression where calling ValidateAsync with RuleForEach could cause a deadlock (#799).
  • Added ToString overrides on ValidationResult to generate a string representation of all errors (#778).
  • Updated logos thanks to Dylan Beattie (#780).

Changes in 7.6.100:

  • Resolved an issue where ValidateAsync was called on child validators when the root validator was invoked synchronously.

Changes in 7.6:

  • WhenAsync now works correctly when calling the non-async Validate method.
  • ASP.NET Core integration has been updated to ASP.NET Core 2.1.
  • Include statement now works when explicitly selecting properties to validate.
  • Added Ukranian language support.
  • Added Arabic language support.
  • Added caching when instantiating validators to obtain clientside metadata.

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

Version Downloads Last updated
12.1.1 1 02/27/2026
12.1.0 1 02/27/2026
12.0.0 1 02/27/2026
12.0.0-preview1 1 02/27/2026
11.12.0 1 02/27/2026
11.11.0 2 02/25/2026
11.10.0 1 02/27/2026
11.9.2 1 02/27/2026
11.9.1 1 02/27/2026
11.9.0 1 02/27/2026
11.8.1 1 02/27/2026
11.8.0 1 02/27/2026
11.7.1 1 02/27/2026
11.7.0 1 02/27/2026
11.6.0 1 02/27/2026
11.5.2 1 02/27/2026
11.5.1 1 02/27/2026
11.5.0 1 02/27/2026
11.4.0 1 02/27/2026
11.3.0 1 02/27/2026
11.2.2 1 02/27/2026
11.2.1 1 02/27/2026
11.2.0 1 02/27/2026
11.1.1 1 02/27/2026
11.1.0 1 02/27/2026
11.0.3 1 02/27/2026
11.0.2 1 02/27/2026
11.0.1 1 02/27/2026
11.0.0 1 02/27/2026
10.4.0 1 02/27/2026
10.3.6 1 02/27/2026
10.3.5 1 02/27/2026
10.3.4 1 02/27/2026
10.3.3 1 02/27/2026
10.3.1 1 02/27/2026
10.3.0 1 02/27/2026
10.2.3 1 02/27/2026
10.2.2 1 02/27/2026
10.2.1 1 02/27/2026
10.2.0 1 02/27/2026
10.1.0 1 02/27/2026
10.0.4 1 02/27/2026
9.5.4 1 02/27/2026
9.5.3 1 02/27/2026
9.5.2 1 02/27/2026
9.5.1 1 02/27/2026
9.5.0 1 02/27/2026
9.4.0 1 02/27/2026
9.3.0 1 02/27/2026
9.3.0-preview3 1 02/27/2026
9.3.0-preview2 1 02/27/2026
9.3.0-preview1 1 02/27/2026
9.2.2 1 02/27/2026
9.2.1 1 02/27/2026
9.2.0 1 02/27/2026
9.1.3 1 02/27/2026
9.1.2 1 02/27/2026
9.1.1 1 02/27/2026
9.1.0 1 02/27/2026
9.0.1 1 02/27/2026
9.0.0-preview5 1 02/27/2026
9.0.0-preview4 1 02/27/2026
9.0.0-preview3 1 02/27/2026
9.0.0-preview2 1 02/27/2026
9.0.0-preview1 1 02/27/2026
8.6.3 1 02/27/2026
8.6.2 1 02/27/2026
8.6.1 1 02/27/2026
8.6.0 1 02/27/2026
8.5.1 1 02/27/2026
8.5.0 1 02/27/2026
8.5.0-preview5 1 02/27/2026
8.5.0-preview4 1 02/27/2026
8.5.0-preview3 1 02/27/2026
8.5.0-preview2 1 02/27/2026
8.5.0-preview1 1 02/27/2026
8.4.0 1 02/27/2026
8.3.0 1 02/27/2026
8.2.3 1 02/27/2026
8.2.2 1 02/27/2026
8.2.1 1 02/27/2026
8.2.0 1 02/27/2026
8.1.3 1 02/27/2026
8.1.2 1 02/27/2026
8.1.1 1 02/27/2026
8.1.0 1 02/27/2026
8.1.0-preview2 1 02/27/2026
8.1.0-preview1 1 02/27/2026
8.0.101 1 02/27/2026
8.0.100 1 02/27/2026
8.0.0 1 02/27/2026
8.0.0-rc1 1 02/27/2026
8.0.0-preview4 1 02/27/2026
8.0.0-preview3 1 02/27/2026
8.0.0-preview2 1 02/27/2026
7.6.105 1 02/27/2026
7.6.104 1 02/27/2026
7.6.103 1 02/27/2026
7.6.102 1 02/27/2026
7.6.101 1 02/27/2026
7.6.100 1 02/27/2026
7.6.0 1 02/27/2026
7.6.0-preview1 1 02/27/2026
7.5.2 1 02/27/2026
7.5.1 1 02/27/2026
7.5.0 1 02/27/2026
7.4.0 1 02/27/2026
7.3.4 1 02/27/2026
7.3.3 1 02/27/2026
7.3.2 1 02/27/2026
7.3.1 1 02/27/2026
7.3.0 1 02/27/2026
7.3.0-beta3 1 02/27/2026
7.3.0-beta2 1 02/27/2026
7.3.0-beta1 1 02/27/2026
7.2.1 1 02/27/2026
7.2.0 1 02/27/2026
7.2.0-beta3 1 02/27/2026
7.2.0-beta2 1 02/27/2026
7.2.0-beta1 1 02/27/2026
7.1.1 1 02/27/2026
7.1.0 1 02/27/2026
7.1.0-beta1 1 02/27/2026
7.0.3 1 02/27/2026
7.0.2 1 02/27/2026
7.0.1 1 02/27/2026
7.0.0 1 02/27/2026
7.0.0-beta3 1 02/27/2026
7.0.0-beta2 1 02/27/2026
7.0.0-beta1 1 02/27/2026
6.4.1 1 02/27/2026
6.4.1-beta1 1 02/27/2026
6.4.0 1 02/27/2026
6.4.0-rc4 1 02/27/2026
6.4.0-rc3 1 02/27/2026
6.4.0-rc2 1 02/27/2026
6.4.0-rc1 1 02/27/2026
6.4.0-beta9 1 02/27/2026
6.4.0-beta8 1 02/27/2026
6.4.0-beta7 1 02/27/2026
6.4.0-beta6 1 02/27/2026
6.4.0-beta5 1 02/27/2026
6.4.0-beta4 1 02/27/2026
6.4.0-beta3 1 02/27/2026
6.4.0-beta2 1 02/27/2026
6.4.0-beta10 1 02/27/2026
6.4.0-beta1 1 02/27/2026
6.3.4-alpha 1 02/27/2026
6.3.3-alpha 1 02/27/2026
6.2.1 1 02/27/2026
6.2.1-beta1 1 02/27/2026
6.2.0 1 02/27/2026
6.2.0-beta1 1 02/27/2026
6.1.0 1 02/27/2026
6.0.2 1 02/27/2026
6.0.1 1 02/27/2026
6.0.0 1 02/27/2026
5.6.2 1 02/27/2026
5.6.1 1 02/27/2026
5.5.0 1 02/27/2026
5.4.0 1 02/27/2026
5.3.0 1 02/27/2026
5.2.0 1 02/27/2026
5.1.0 1 02/27/2026
5.0.0.1 1 02/27/2026
4.0.0.1 1 02/27/2026
4.0.0 1 02/27/2026
3.4.6 1 02/27/2026
3.4.0 1 02/27/2026
3.3.1 1 02/27/2026
3.2.0 1 02/27/2026
3.1.0 1 02/27/2026
3.0.0.1 1 02/27/2026
3.0.0 1 02/27/2026
2.0.0 1 02/27/2026
1.3.0 1 02/27/2026