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/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 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 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 f3ae59b..9129223 100644 --- a/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj +++ b/src/ExpressValidator.Extensions.DependencyInjection/ExpressValidator.Extensions.DependencyInjection.csproj @@ -1,9 +1,9 @@  - netstandard2.0 + netstandard2.0;net8.0 true - 0.3.9 + 0.3.12 true Andrey Kolesnichenko MIT @@ -15,9 +15,17 @@ 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 + + + + + + + + 1701;1702;1591 @@ -31,9 +39,9 @@ - - - + + + 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 diff --git a/src/ExpressValidator/ExpressValidator.csproj b/src/ExpressValidator/ExpressValidator.csproj index bd4c034..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 @@ -33,10 +33,6 @@ - - - - 1701;1702;1591 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..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 @@  - + @@ -39,62 +39,62 @@ 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 - - ..\..\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 + + ..\..\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 @@ -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 @@ -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 f897ada..24eebd6 100644 --- a/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config +++ b/tests/ExpressValidator.Extensions.DependencyInjection.Tests/packages.config @@ -1,31 +1,31 @@  - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - + + \ No newline at end of file