1
resposta

Validação e aplicada mas n funciona retornando um erro no servidor.

Olá pessoal, estou com o seguinte problema, apliquei as validações como no curso porem ao tentar cadastrar uma pessoa cujo as informações não atende os requisitos do validate, não e mostrado a mensagem de erro e é exibido um erro no terminal. segue o código de pessoasControlles:

'use strict';
const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class Pessoas extends Model {
    /**
     * Helper method for defining associations.
     * This method is not a part of Sequelize lifecycle.
     * The `models/index` file will call this method automatically.
     */
    static associate(models) {
      Pessoas.hasMany(models.Turmas, {
        foreignKey: 'docente_id'
      })
      Pessoas.hasMany(models.Matriculas,{
        foreignKey: 'estudante_id'
      })
    }
  }
  Pessoas.init({
    nome: {
      type: DataTypes.STRING,
      validate:{
        funcaoValidarora: function(dado){
          if(dado.length < 3) throw new Error('o  campo node deve ter mais de tres caracteres')
        }
      }
    },
    ativo: DataTypes.BOOLEAN,
    email:{
      type: DataTypes.STRING,
      validate:{
        isEmail: true
      }
    },
    role: DataTypes.STRING
  }, {
    sequelize,
    modelName: 'Pessoas',
    paranoid: true,
    defaultScope: {
      where: {ativo: true}
    },
    scopes: {
      todos: {where: {}},
    }
  });
  return Pessoas;
};

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Já verifiquei escrita e também na documentação mas não consegui achar o erro

1 resposta

O que você mandou é de o pessoas.js da pasta model, manda o que está em PessoasController da pasta Controllers