rmanguinho / clean-ts-api

API em NodeJs usando Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles
https://rmanguinho.github.io/
GNU General Public License v3.0
1.86k stars 498 forks source link

Bug no RequiredFieldValidation para fields com valor 0 #58

Open PauloFavero opened 2 years ago

PauloFavero commented 2 years ago

Olá

O RequiredFieldValidation verifica apenas se o valor do campo é false. Isso ocasiona erros de validação quando um para um field com valor 0. Por exemplo:

const test = {
 distance: 0
}

Nesse caso o RequiredFieldValidation vai retornar missingParam 'distance'.

Uma solução seria:

  validate (data: any): Error {
    if (data[this.fieldName] === undefined || data[this.fieldName] === null) {
      return new MissingParamError(this.fieldName)
    }
  }

Abraços