AspNet.KickStarter.AddIn.FluentValidation 1.2.2

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package AspNet.KickStarter.AddIn.FluentValidation --version 1.2.2                
NuGet\Install-Package AspNet.KickStarter.AddIn.FluentValidation -Version 1.2.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AspNet.KickStarter.AddIn.FluentValidation" Version="1.2.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AspNet.KickStarter.AddIn.FluentValidation --version 1.2.2                
#r "nuget: AspNet.KickStarter.AddIn.FluentValidation, 1.2.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AspNet.KickStarter.AddIn.FluentValidation as a Cake Addin
#addin nuget:?package=AspNet.KickStarter.AddIn.FluentValidation&version=1.2.2

// Install AspNet.KickStarter.AddIn.FluentValidation as a Cake Tool
#tool nuget:?package=AspNet.KickStarter.AddIn.FluentValidation&version=1.2.2                

AspNet.KickStarter.AddIn.FluentValidation

This library provides an extension intended to be used to configure FluentValidation.

Sample Usage

Program.cs

await new ApiBuilder()
    .WithEndpoints(MapEndpoints)
    .WithFluentValidationFromAssemblyContaining<CreateJobRequestValidator>()
    .Build(args)
    .RunAsync();

void MapEndpoints(WebApplication app)
{
    app.MapPost<CreateJobResponse>("/job", "CreateJob", "Create a new job.",
            async (JobHandler handler,
                   [FromBody(EmptyBodyBehavior = EmptyBodyBehavior.Disallow)] CreateJobRequest request,
                   IValidator<CreateJobRequest> validator)
                => await handler.CreateJobAsync(request, validator));
}

JobHandler.cs

internal async Task<IResult> CreateJobAsync(CreateJobRequest request, IValidator<CreateJobRequest> validator)
{
    var validationResult = await validator.ValidateAsync(request);
    if (!validationResult.IsValid)
        return Results.ValidationProblem(validationResult.ToDictionary());
    ...
}

CreateJobRequestValidator.cs

internal class CreateJobRequestValidator : AbstractValidator<CreateJobRequest>
{
    public CreateJobRequestValidator()
    {
        RuleFor(_ => _.Email)
            .Cascade(CascadeMode.Stop)
            .NotNull()
            .NotEmpty()
            .EmailAddress()
            .MaximumLength(128);
    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AspNet.KickStarter.AddIn.FluentValidation:

Package Downloads
AspNet.KickStarter

This simplifies the bootstrapping code to run a minimal API with optional AddIn support for Serilog, FluentValidation, OpenTelemetry and Swagger.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.3 107 6/18/2024
1.2.2 244 6/3/2024
1.2.1 71 6/3/2024
1.2.0 69 6/3/2024