2
respostas

[Dúvida] Ordem dos decorators

Em relação as validações na classe CriaProdutoDTO, a ordem dos decorators de validação possuem importância? E qual a ordem de execução deles na descrição, por exemplo?

export class CriaProdutoDTO {
// código omitido
    @IsString()
      @IsNotEmpty({ message: 'Descrição do produto não pode ser vazia ' })
      @MaxLength(1000, {
        message: 'Descrição não pode ter mais que 1000 caracteres',
      })
      descricao: string;
    
// código omitido
}
2 respostas

Olá, Matheus! Tudo bem?

A ordem dos decorators é importante para garantir que as validações sejam executadas na sequência correta. Se a ordem fosse alterada, as validações seriam aplicadas de forma diferente.

Por exemplo, se a ordem fosse alterada para @MaxLength(), @IsString(), @IsNotEmpty(), a validação de tamanho máximo seria aplicada antes da validação de tipo e não faria sentido, pois a validação de tamanho máximo só faz sentido em uma string.

Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, estarei à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Então nesse caso a ordem dos decorators é de cima para baixo? Iniciando do @IsString(), @IsNotEmpty() e por fim o @MaxLength()?