Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

validação

Eu estou com o seguinte problema: tudo funciona idependente de colocar a data anterior ou não, ou colocar o nome mais curto do q deveria

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


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 validaData = moment(data).isSameOrAfter(dataCriacao)
        const validaCliente = atendimento.cliente.lenght >= 4

        const validacoes = [
            {
                nome: 'data',
                valido: validaData,
                mensagem: 'Data deve ser maior ou igual a data atual'
            },
            {
                nome: 'cliente',
                valido: validaCliente,
                mensagem: 'O nome deve conter ao menos 4 caracteres'
            }
        ]

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

        if (existemErros) {
            res.status(400).json(erros)
        } else {
            const atendimentoDatado = { ...atendimento, dataCriacao, data }

            const sql = 'INSERT INTO Atendimentos SET ?'

            conexao.query(sql, atendimentoDatado, (erro, resultados) => {
                if (erro) {
                    res.status(400).json(erro)
                }
                else {
                    res.status(201).json(resultados)
                }
            })
        }
    }
}

module.exports = new Atendimento
1 resposta
solução!

Olá, Jian! Tudo bem?

Em alguns lugares do código, você escreveu a propriedade length errado, e assim, é provável que seja a raíz do problema, pois o JavaScript entende que a propriedade que você está chamando (lenght) possui um valor falso. Assim, o seu if de existemErros retorna falso, e não é executado, passando para a execução do else.

Você pode corrigir isso ao corrigir a grafia nos seguintes locais:

const validaCliente = atendimento.cliente.length >= 4

E:

const existemErros = erros.length

Ok? Espero ter ajudado!