Skip to content

Fase II Validations

Johan Villegas edited this page Sep 18, 2018 · 2 revisions

Puede visualizar los commit de esta fase : Branch Validations

Application Layer

Existen diferentes formas de realizar las validaciones en la capa de aplicación, en este caso vamos a utilizar un paquete que nos va a facilitar dicha validaciones, para realizar dicha implementacion necesitamos descargar por NuGet el siguiente paquete FluentValidation.AspNetCore

FluentValidation.AspNetCore

Al realizar la implementacion, ya podemos realizar la validación de una forma fluida, vamos a realizar la creación de una clase en el folder de Validations dicho folder contendrá todas las validaciones al nivel de la capa de aplicación.

Aspecto del código:

  • El nombre de la clase debe ser finalizada con la palabra Validator
  • Al crear la clase debe de implementar la clase AbstractValidator<>
  • El (arg) debe ser el comando con el cual se va a realizar la validación, en este caso CreateItemMasterCommand
  • Resultado : CreateItemMasterCommandValidator: AbstractValidator

ValidationCommandValidator

Nota : Tenemos que tener presente que las validaciones son parte de las entradas del sistema, de los cuales deberían ser aclaradas antes de enviarlo a las capas posteriores.

API Layer

Para culminar la implementacion debemos ir al Statup del proyecto API y realizar los siguiente:

FluentValidation.Statup

Nota : La validaciones debe declararlas en el Statup como se muestra en la segunda linea:

  • services.AddTransient<IValidator<Nombre Comando Donde Se Utilizara>, Nombre Comando Donde Se UtilizaraValidator>();

Si realizamos la prueba podemos ver que la respuesta es la de las validaciones que hemos realizados en la capa de Aplicación.

ValidationResult