3
respostas

Cannot read property 'length' of undefined

Boa tarde, está retornando um TypeError. Como se a variável não esteja sendo inicializada. Poderia me ajudar : Obrigado!

const conexao = require('../infraestrutura/conexao')
const moment = require('moment')

class Atendimento {
    adiciona(atendimento, res){
        const dataCriacao = moment().format('YYYY-MM-DD HH:MM:SS')
        const data = moment(atendimento.data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:MM:SS')
        const dataEhValida = moment(data).isSameOrAfter(dataCriacao)
        const clienteEhValido =  atendimento.cliente.length >= 5 

        const validacoes = [
            {
                nome: 'data',
                valido: dataEhValida,
                mensagem: 'Data dever ser maior ou igual a data atual'

        },
            {
                nome: 'cliente',
                valido:clienteEhValido,
                mensagem: 'Nome cliente deverá conter mais que 5 letras.'

        }


        ]

        const erros = validacoes.filter(campo => !campo.valido)
        const existemErros = erros.length

        if (existemErros){

            res.status(400).json(erros)

        }else{

            const atendimentoDatado = {...atendimento, dataCriacao, data}
            const sql = 'INSERT INTO atendimentos SET ?'
            conexao.query(sql,atendimentoDatado,(erro,resultado) =>{
            if(erro){
                res.status(400).json(erro)
            }else{
                res.status(201).json(resultado)
            }
            })

        }

    }
}

module.exports = new Atendimento
3 respostas

Olá! O erro ocorre no atendimento.cliente.length ou no erros.length?

Estou com o mesmo problema, alguma solucao?

Bom dia Ermirio. Você pode colar aqui nas respostas o texto de erro que você está recebendo? Não estou conseguindo replicar o problema e parece tudo certo com o código.

Recomendo tentar alterar as dependências do package-lock.json para deixá-las iguais às dependências do curso e executar npm install no terminal novamente. Qualquer dúvida basta olhar em como estava o código do curso nessa aula aqui