O conteúdo do objeto literal que que é retornado quando tentamos realizar um cadastro com dados inválidos é montado no backend?
O backend que estou utilizando retorna o seguinte erro:
* {errors: {…}, _message: "Autore validation failed", message: "Autore validation failed: senha: Path `senha` is r…ail` is required., nome: Path `nome` is required.", name: "ValidationError"}
* errors:
* email: {message: "Path `email` is required.", name: "ValidatorError", properties: {…}, kind: "required", path: "email", …}
* nome: {message: "Path `nome` is required.", name: "ValidatorError", properties: {…}, kind: "required", path: "nome", …}
* senha: {message: "Path `senha` is required.", name: "ValidatorError", properties: {…}, kind: "required", path: "senha", …}
* __proto__: Object
message: "Autore validation failed: senha: Path `senha` is required., email: Path `email` is required., nome: Path `nome` is required."
name: "ValidationError"
_message: "Autore validation failed"
* __proto__: Object
Parece que a propriedade errors do erro retornado pelo meu backend não é um array, pois quando coloquei um console.log(erros.errors.length) antes do for do TratadorErros.js ele imprimiu undefined e, provavelmente por isso, não está entrando dentro do for.
Como faço para verificar, na estrutura acima, que a propriedade errors possui 3 erros?
Código do TratadorErros.js:
import PubSub from 'pubsub-js';
export default class TratadorErros {
publicaErros(erros){
console.log(erros)
console.log(erros.errors.length)
for(var i=0;i<erros.errors.length;i++){
console.log("tratando erros dentro do for")
var erro = erros.errors[i];
PubSub.publish("erro-validacao",erro);
}
}
}