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

[Bug] ValidationError nunca é executado

Eu fiz o código exatamente como no video, mas na hora de executar no Postman, testando inserir um objeto vazio em Autor por exemplo, ele dá erro interno de servidor, ao invés do ValidationError. Vou deixar os códigos:

Autor.js: import mongoose from "mongoose";

const autorSchema = new mongoose.Schema({ id: { type: mongoose.Schema.Types.ObjectId }, nome: { type: String, required: [true, "o nome do autor é obrigatorio"]}, nacionalidade: { type: String } }, { versionKey: false });

const autor = mongoose.model("autores", autorSchema);

export { autor, autorSchema };

manipuladordeerro.js: import mongoose from "mongoose";

// eslint-disable-next-line no-unused-vars function manipuladordeerro(erro, req, res, next){ if (erro instanceof mongoose.Error.CastError){ res.status(400).send({ message: "dado incorreto"}); } else if(erro instanceof mongoose.Error.ValidationError){ const mensagenserro = Object.values(erro.errors) .map(erro => erro.message) .join("; "); res.status(400).send({ message: erros: ${mensagenserro} }); } else { res.status(500).send({message: "erro interno de servidor"}); } }

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

consegui arrumar!