From 542caa3ff949b3cd727240522b8786081fa24215 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Sun, 31 Aug 2025 19:48:05 +0300 Subject: [PATCH 01/10] Remove redundant `PackageReference` to FluentValidation 11.11.0. --- src/ExpressValidator/ExpressValidator.csproj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/ExpressValidator/ExpressValidator.csproj b/src/ExpressValidator/ExpressValidator.csproj index bd4c034..2ce5bde 100644 --- a/src/ExpressValidator/ExpressValidator.csproj +++ b/src/ExpressValidator/ExpressValidator.csproj @@ -33,10 +33,6 @@ - - - - 1701;1702;1591 From 7fa57893c7a4d2e61317586d27093cac133f7123 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Sun, 31 Aug 2025 20:02:26 +0300 Subject: [PATCH 02/10] Package 0.12.0 version and update CHANGELOG.md. --- CHANGELOG.md | 12 ++++++++++++ src/ExpressValidator/ExpressValidator.csproj | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6dc581c..c2ee3ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.12.0 + +- Support .NET 8.0 and FluentValidation 12.0.0. +- Fix `ExpressPropertyValidator` to prevent calling `Func` propertyFunc twice when a success handler is present. +- Fix NU1504: Duplicate 'PackageReference' found +- Update NUnit NuGet package to v4.4.0. +- Add test for `ValidateAsync` with both `WithValidation` and `WithAsyncValidation` in `ExpressValidatorBuilder`. +- Add test to ensure synchronous Validate throws `AsyncValidatorInvokedSynchronouslyException` if the builder has async rules. +- Add a test for the `ValidateAsync` method with simulated external services. +- Add 'Asynchronous Validation' README Chapter. + + ## 0.10.0 - Introduced the `QuickValidator.ValidateAsync(T, Action>, string, Action, CancellationToken)` extension method. diff --git a/src/ExpressValidator/ExpressValidator.csproj b/src/ExpressValidator/ExpressValidator.csproj index 2ce5bde..9cfb235 100644 --- a/src/ExpressValidator/ExpressValidator.csproj +++ b/src/ExpressValidator/ExpressValidator.csproj @@ -3,7 +3,7 @@ netstandard2.0;net8.0 true - 0.10.0 + 0.12.0 true Andrey Kolesnichenko ExpressValidator is a library that provides the ability to validate objects using the FluentValidation library, but without object inheritance from `AbstractValidator`. @@ -15,7 +15,7 @@ ExpressValidator.png NuGet.md - 0.10.0.0 + 0.12.0.0 0.0.0.0 From eb95c5f8b0b0b734b7a5557192afa32c0478ab88 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Tue, 23 Sep 2025 18:55:29 +0300 Subject: [PATCH 03/10] Update ExpressValidator NuGet package to v0.12.0. --- .../ExpressValidator.Extensions.DependencyInjection.csproj | 2 +- ...pressValidator.Extensions.DependencyInjection.Tests.csproj | 4 ++-- .../packages.config | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj index 5a94f17..70a4df1 100644 --- a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj +++ b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj @@ -31,7 +31,7 @@ - + diff --git a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj index 182176d..718bbdc 100644 --- a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj +++ b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj @@ -39,8 +39,8 @@ 4 - - ..\..\packages\ExpressValidator.0.10.0\lib\netstandard2.0\ExpressValidator.dll + + ..\..\packages\ExpressValidator.0.12.0\lib\netstandard2.0\ExpressValidator.dll ..\..\packages\FluentValidation.11.11.0\lib\netstandard2.0\FluentValidation.dll diff --git a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config index f897ada..e6b717c 100644 --- a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config +++ b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config @@ -1,6 +1,6 @@  - + From 57d2e1c9b578a35e5f8a4f7ab758212f36570612 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Tue, 30 Sep 2025 17:50:43 +0300 Subject: [PATCH 04/10] Update Microsoft nuget packages. --- ...ator.Extensions.DependencyInjection.csproj | 4 +- ...xtensions.DependencyInjection.Tests.csproj | 72 +++++++++---------- .../packages.config | 36 +++++----- 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj index c0591f3..281ad04 100644 --- a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj +++ b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj @@ -32,8 +32,8 @@ - - + + diff --git a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj index 718bbdc..1644baa 100644 --- a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj +++ b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj @@ -45,50 +45,50 @@ ..\..\packages\FluentValidation.11.11.0\lib\netstandard2.0\FluentValidation.dll - - ..\..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.7\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + ..\..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.9\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll - - ..\..\packages\Microsoft.Extensions.Configuration.9.0.7\lib\net462\Microsoft.Extensions.Configuration.dll + + ..\..\packages\Microsoft.Extensions.Configuration.9.0.9\lib\net462\Microsoft.Extensions.Configuration.dll - - ..\..\packages\Microsoft.Extensions.Configuration.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.Configuration.Abstractions.dll + + ..\..\packages\Microsoft.Extensions.Configuration.Abstractions.9.0.9\lib\net462\Microsoft.Extensions.Configuration.Abstractions.dll - - ..\..\packages\Microsoft.Extensions.Configuration.Binder.9.0.7\lib\net462\Microsoft.Extensions.Configuration.Binder.dll + + ..\..\packages\Microsoft.Extensions.Configuration.Binder.9.0.9\lib\net462\Microsoft.Extensions.Configuration.Binder.dll - - ..\..\packages\Microsoft.Extensions.Configuration.EnvironmentVariables.9.0.7\lib\net462\Microsoft.Extensions.Configuration.EnvironmentVariables.dll + + ..\..\packages\Microsoft.Extensions.Configuration.EnvironmentVariables.9.0.9\lib\net462\Microsoft.Extensions.Configuration.EnvironmentVariables.dll - - ..\..\packages\Microsoft.Extensions.Configuration.FileExtensions.9.0.7\lib\net462\Microsoft.Extensions.Configuration.FileExtensions.dll + + ..\..\packages\Microsoft.Extensions.Configuration.FileExtensions.9.0.9\lib\net462\Microsoft.Extensions.Configuration.FileExtensions.dll - - ..\..\packages\Microsoft.Extensions.Configuration.Json.9.0.7\lib\net462\Microsoft.Extensions.Configuration.Json.dll + + ..\..\packages\Microsoft.Extensions.Configuration.Json.9.0.9\lib\net462\Microsoft.Extensions.Configuration.Json.dll - - ..\..\packages\Microsoft.Extensions.DependencyInjection.9.0.7\lib\net462\Microsoft.Extensions.DependencyInjection.dll + + ..\..\packages\Microsoft.Extensions.DependencyInjection.9.0.9\lib\net462\Microsoft.Extensions.DependencyInjection.dll - - ..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + ..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.9\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\..\packages\Microsoft.Extensions.FileProviders.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.FileProviders.Abstractions.dll + + ..\..\packages\Microsoft.Extensions.FileProviders.Abstractions.9.0.9\lib\net462\Microsoft.Extensions.FileProviders.Abstractions.dll - - ..\..\packages\Microsoft.Extensions.FileProviders.Physical.9.0.7\lib\net462\Microsoft.Extensions.FileProviders.Physical.dll + + ..\..\packages\Microsoft.Extensions.FileProviders.Physical.9.0.9\lib\net462\Microsoft.Extensions.FileProviders.Physical.dll - - ..\..\packages\Microsoft.Extensions.FileSystemGlobbing.9.0.7\lib\net462\Microsoft.Extensions.FileSystemGlobbing.dll + + ..\..\packages\Microsoft.Extensions.FileSystemGlobbing.9.0.9\lib\net462\Microsoft.Extensions.FileSystemGlobbing.dll - - ..\..\packages\Microsoft.Extensions.Options.9.0.7\lib\net462\Microsoft.Extensions.Options.dll + + ..\..\packages\Microsoft.Extensions.Options.9.0.9\lib\net462\Microsoft.Extensions.Options.dll - - ..\..\packages\Microsoft.Extensions.Options.ConfigurationExtensions.9.0.7\lib\net462\Microsoft.Extensions.Options.ConfigurationExtensions.dll + + ..\..\packages\Microsoft.Extensions.Options.ConfigurationExtensions.9.0.9\lib\net462\Microsoft.Extensions.Options.ConfigurationExtensions.dll - - ..\..\packages\Microsoft.Extensions.Primitives.9.0.7\lib\net462\Microsoft.Extensions.Primitives.dll + + ..\..\packages\Microsoft.Extensions.Primitives.9.0.9\lib\net462\Microsoft.Extensions.Primitives.dll ..\..\packages\NUnit.4.3.2\lib\net462\nunit.framework.dll @@ -102,8 +102,8 @@ - - ..\..\packages\System.IO.Pipelines.9.0.7\lib\net462\System.IO.Pipelines.dll + + ..\..\packages\System.IO.Pipelines.9.0.9\lib\net462\System.IO.Pipelines.dll ..\..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll @@ -115,11 +115,11 @@ ..\..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll - - ..\..\packages\System.Text.Encodings.Web.9.0.7\lib\net462\System.Text.Encodings.Web.dll + + ..\..\packages\System.Text.Encodings.Web.9.0.9\lib\net462\System.Text.Encodings.Web.dll - - ..\..\packages\System.Text.Json.9.0.7\lib\net462\System.Text.Json.dll + + ..\..\packages\System.Text.Json.9.0.9\lib\net462\System.Text.Json.dll ..\..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll diff --git a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config index e6b717c..2bf0c65 100644 --- a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config +++ b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config @@ -2,30 +2,30 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - + + \ No newline at end of file From 4002870af01e22847f0efed84088050d83dad0e0 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Tue, 30 Sep 2025 17:55:50 +0300 Subject: [PATCH 05/10] Update NUnit NuGet package to v4.4.0. --- ...dator.Extensions.DependencyInjection.Tests.csproj | 12 ++++++------ .../packages.config | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj index 1644baa..996e294 100644 --- a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj +++ b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/ExpressValidator.Extensions.DependencyInjection.Tests.csproj @@ -1,6 +1,6 @@  - + @@ -90,11 +90,11 @@ ..\..\packages\Microsoft.Extensions.Primitives.9.0.9\lib\net462\Microsoft.Extensions.Primitives.dll - - ..\..\packages\NUnit.4.3.2\lib\net462\nunit.framework.dll + + ..\..\packages\NUnit.4.4.0\lib\net462\nunit.framework.dll - - ..\..\packages\NUnit.4.3.2\lib\net462\nunit.framework.legacy.dll + + ..\..\packages\NUnit.4.4.0\lib\net462\nunit.framework.legacy.dll @@ -157,8 +157,8 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + \ No newline at end of file diff --git a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config index 2bf0c65..24eebd6 100644 --- a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config +++ b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config @@ -17,7 +17,7 @@ - + From 0b6894f4eaacc34b939cc09b40ab9aa89a809d13 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Fri, 3 Oct 2025 15:14:42 +0300 Subject: [PATCH 06/10] Support .NET 8.0 and FluentValidation 12.0.0. --- ...ressValidator.Extensions.DependencyInjection.csproj | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj index 281ad04..4faeedf 100644 --- a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj +++ b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj @@ -1,7 +1,7 @@  - netstandard2.0 + netstandard2.0;net8.0 true 0.3.9 true @@ -18,6 +18,14 @@ 0.3.9.0 + + + + + + + + 1701;1702;1591 From d506b21247be00b129637f5f85576aa2a8400084 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Fri, 3 Oct 2025 16:25:09 +0300 Subject: [PATCH 07/10] Retarget ExpressValidator.Extensions.DependencyInjection.Sample to .NET 8.0. --- ...xpressValidator.Extensions.DependencyInjection.Sample.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/ExpressValidator.Extensions.DependencyInjection.Sample/ExpressValidator.Extensions.DependencyInjection.Sample.csproj b/samples/ExpressValidator.Extensions.DependencyInjection.Sample/ExpressValidator.Extensions.DependencyInjection.Sample.csproj index 78a329c..ff2118b 100644 --- a/samples/ExpressValidator.Extensions.DependencyInjection.Sample/ExpressValidator.Extensions.DependencyInjection.Sample.csproj +++ b/samples/ExpressValidator.Extensions.DependencyInjection.Sample/ExpressValidator.Extensions.DependencyInjection.Sample.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 enable enable From 2673b9472767b27f65b51c3a16c2f88601e54ecb Mon Sep 17 00:00:00 2001 From: kolan72 Date: Fri, 10 Oct 2025 15:50:17 +0300 Subject: [PATCH 08/10] Package 0.3.12 version and update CHANGELOG.md. --- .../CHANGELOG.md | 9 +++++++++ ...xpressValidator.Extensions.DependencyInjection.csproj | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/ExpressValidator.Extensions.DependencyInjection/CHANGELOG.md b/src/ExpressValidator.Extensions.DependencyInjection/CHANGELOG.md index 9f9bb74..f051f0b 100644 --- a/src/ExpressValidator.Extensions.DependencyInjection/CHANGELOG.md +++ b/src/ExpressValidator.Extensions.DependencyInjection/CHANGELOG.md @@ -1,3 +1,12 @@ +## 0.3.12 + +- Support .NET 8.0 and FluentValidation 12.0.0. +- Update Microsoft nuget packages. +- Update ExpressValidator NuGet package to v0.12.0. +- Update NUnit NuGet package to v4.4.0. +- Retarget ExpressValidator.Extensions.DependencyInjection.Sample to .NET 8.0. + + ## 0.3.9 - Update ExpressValidator nuget package. diff --git a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj index 4faeedf..9129223 100644 --- a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj +++ b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj @@ -3,7 +3,7 @@ netstandard2.0;net8.0 true - 0.3.9 + 0.3.12 true Andrey Kolesnichenko MIT @@ -15,7 +15,7 @@ FluentValidation Validation DependencyInjection The ExpressValidator.Extensions.DependencyInjection package extends ExpressValidator to provide integration with Microsoft Dependency Injection. Copyright 2024 Andrey Kolesnichenko - 0.3.9.0 + 0.3.12.0 From b188da2b5efc874e396fda89858d91e39ed09638 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Fri, 10 Oct 2025 16:29:47 +0300 Subject: [PATCH 09/10] Update Documentation README Chapter. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a0648cf..d13121c 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,9 @@ ExpressValidator is a library that provides the ability to validate objects usin ## 📜 Documentation -For details, please check the [API documentation](https://www.tmfexplorer.com/ExpressValidator/api/ExpressValidator.html). +> See the [API documentation](https://www.tmfexplorer.com/ExpressValidator/api/ExpressValidator.html) for reference. +> +> Learn more on [DeepWiki](https://deepwiki.com/kolan72/ExpressValidator/2-core-library-%28expressvalidator%29). ## 🚀 Quick Start From 31fa4d8963bc7c4d03973c2cc109b91122e7f586 Mon Sep 17 00:00:00 2001 From: kolan72 Date: Fri, 10 Oct 2025 16:47:24 +0300 Subject: [PATCH 10/10] Add `ExpressValidator.Extensions.DependencyInjection` 'Documentation' section to README. --- src/ExpressValidator.Extensions.DependencyInjection/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ExpressValidator.Extensions.DependencyInjection/README.md b/src/ExpressValidator.Extensions.DependencyInjection/README.md index 2db26f9..cb9343d 100644 --- a/src/ExpressValidator.Extensions.DependencyInjection/README.md +++ b/src/ExpressValidator.Extensions.DependencyInjection/README.md @@ -6,6 +6,10 @@ - Additionally, the `IExpressValidatorBuilder` interface can be configured and registered to update the validator parameters when the `ValidationParametersOptions` change. - Ability to dynamically update the validator parameters from options bound to the configuration section without restarting the application by configuring the `IExpressValidatorWithReload` interface. +## 📜 Documentation + +Explore the API documentation and in-depth details on [DeepWiki](https://deepwiki.com/kolan72/ExpressValidator/3-dependency-injection-extension). + ## 🚀 Usage ```csharp