Skip to content

Validacion

Beto Ramirez edited this page Aug 15, 2026 · 1 revision

Validación (FluentValidation + endpoint filter)

Cada caso de uso que necesita validación anida su Validator (AbstractValidator<Request>) junto a sus contratos — mismo archivo, misma regla de siempre: lo que cambia junto vive junto. Es opt-in: DeleteProduct no tiene validator ni filtro.

El validator corre en un endpoint filter (Common/Endpoints/ValidationFilter.cs), que se aplica en el mapeo con .WithValidation<CreateProduct.Request>(): si el request es inválido responde 400 ValidationProblem sin llegar al handler, así que los handlers solo contienen lógica de negocio y asumen requests válidos. Los filters son la alternativa de Minimal APIs a los "behaviors" de MediatR para cross-cutting concerns (el siguiente candidato típico: idempotencia).

Los validators se descubren con AddValidatorsFromAssembly (cuarto auto-descubrimiento: endpoints, event handlers, configuraciones EF, validators). Se testean directo y sin infraestructura: new CreateProduct.Validator().Validate(request).


Ver también: Manejo-Global-de-Errores · Agregar-un-Caso-de-Uso-Nuevo · Home

Clone this wiki locally