https://github.com/nkz-soft/nkzsoft.fluentvalidation.options
Provides validation to strongly typed configuration objects using FluentValidation library
https://github.com/nkz-soft/nkzsoft.fluentvalidation.options
dotnet dotnet-core dotnet7 fluentvalidation nuget-package
Last synced: 8 months ago
JSON representation
Provides validation to strongly typed configuration objects using FluentValidation library
- Host: GitHub
- URL: https://github.com/nkz-soft/nkzsoft.fluentvalidation.options
- Owner: nkz-soft
- License: mit
- Created: 2023-01-21T18:44:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-09T09:30:13.000Z (10 months ago)
- Last Synced: 2025-01-11T14:45:38.970Z (9 months ago)
- Topics: dotnet, dotnet-core, dotnet7, fluentvalidation, nuget-package
- Language: C#
- Homepage:
- Size: 119 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NKZSoft.FluentValidation.Options
[](https://www.nuget.org/packages/NKZSoft.FluentValidation.Options/)
Provides validation to strongly typed configuration objects using FluentValidation library
I've been actually inspired by this article "[Adding validation to strongly typed configuration objects using FluentValidation](https://andrewlock.net/adding-validation-to-strongly-typed-configuration-objects-using-flentvalidation/)" to create this project.
## Using
First let's add a validator:
```csharp
public class TestOptionsValidator : AbstractValidator {
// ...
}
```
There are two ways to configure it via a configuration file:
```csharp
services.AddWithValidation(configuration.GetSection("TestOptions"));
```
or via Action:
```csharp
services.AddWithValidation(options =>
{
options.BoolValue = true;
});
```
And check that everything works:
```csharp
var options = serviceProvider.GetRequiredService>();try
{
options.Invoking(x => x.Value).Invoke();
}
catch (OptionsValidationException ex)
{
}
```