Centeva.RequestValidation
0.1.0
Prefix Reserved
See the version list below for details.
dotnet add package Centeva.RequestValidation --version 0.1.0
NuGet\Install-Package Centeva.RequestValidation -Version 0.1.0
<PackageReference Include="Centeva.RequestValidation" Version="0.1.0" />
paket add Centeva.RequestValidation --version 0.1.0
#r "nuget: Centeva.RequestValidation, 0.1.0"
// Install Centeva.RequestValidation as a Cake Addin #addin nuget:?package=Centeva.RequestValidation&version=0.1.0 // Install Centeva.RequestValidation as a Cake Tool #tool nuget:?package=Centeva.RequestValidation&version=0.1.0
Centeva Request Validation
Centeva.RequestAuthorization is a .NET library that provides a method for validating MediatR requests using FluentValidation. This enables validation at the request level instead of inside ASP.Net Core controllers, separating validation logic from the presentation layer.
Built With
Installation
Import the Centeva.RequestValidation
package to your projects where needed.
Dependency Injection
Register the validators and add a MediatR pipeline behavior in your Program.cs:
builder.Services.AddRequestValidation(typeof(SampleValidator).Assembly);
NOTE: If you're also using Centeva.RequestAuthorization
, you likely want
to call the above method first, then add the Authorization behavior. This
ensures that validation happens first in your MediatR pipeline.
Validating a Request
To validate a request, add a validator class to your project that inherits from
AbstractValidator<TRequest>
, where TRequest
is the type of request you want
to validate. For example:
public class SampleValidator : AbstractValidator<SampleRequest>
{
public SampleValidator()
{
RuleFor(x => x.Name).NotEmpty();
}
}
If validation fails, a ValidationException
will be thrown. Your application
is responsible for handling those exceptions, possibly by mapping to a custom
HTTP response or a ProblemDetails object.
Contributing
Please use a Pull Request to suggest changes to this library. As this is a shared library, strict semantic versioning rules should be followed to avoid unexpected breaking changes.
Running Tests
From Windows, use the dotnet test
command, or your Visual Studio Test
Explorer.
Deployment
This library is versioned by GitVersion. Create a Git tag for an official release (e.g., "v1.0.0"). Version numbers can be incremented via commit message using the GitVersion approaches.
Resources
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- FluentValidation.DependencyInjectionExtensions (>= 11.8.1)
- MediatR (>= 12.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.