Eu vi um topico que foi postado a umas 4 semanas aqui, chamado "Validação no FrontEnd" e estou com um problema parecido.
Quando voce manda um request pelo Postman, os mesmos dados as vezes validam e as vezes nao validam. Por exemplo, se eu mando um request com
cliente: ju e data: 19/02/2021,
Apos clicar 4 vezes no send do Postman, as 3 primeiras vezes ele mostra os erros de "cliente" e de "data". Na ultima vez, entretanto, ele so mostra o de "data".
Considerando a data de hoje (14/02/2021) eu nao entendo pq a "data" ta dando problema, e arbitrariamente no quarto send do postman o "cliente" deixa de dar problema.
const moment = require("moment");
const conexao = require("../infraestrutura/conexao.js");
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 deve ser maior ou igual a data atual."},
{nome: "cliente", valido: clienteEhValido, mensagem: "Cliente deve ter pelo menos 5 caracteres."}
]
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, resultados) => {
if(erro){
res.status(400).json(erro);
} else {
res.status(201).json(resultados);
}
})
}
}
}
module.exports = new Atendimento;