A função de validação de nome não está funcionando. Quando envio a requisição de POST, ao invés de mostrar a mensagem de erro, está permitindo a criação de um funcionário com o nome sendo salvo como nulo. O código da model está igual ao da aula:
'use strict'
module.exports = (sequelize, DataTypes) => {
const Pessoas = sequelize.define('Pessoas', {
nome: {
type: DataTypes.STRING,
validate: {
funcaoValidadora: function(dado) {
if (dado.length < 3) throw new Error('o campo nome deve ter mais de 3 caracteres')
}
}
},
ativo: DataTypes.BOOLEAN,
email: {
type: DataTypes.STRING,
validate: {
isEmail: {
args: true,
msg: 'dado do tipo e-mail inválido'
}
}
},
role: DataTypes.STRING
}, {
paranoid: true,
defaultScope: {
where: { ativo: true }
},
scopes: {
todos: { where: {} },
//etc: { constraint: valor }
}
})
Pessoas.associate = function(models) {
Pessoas.hasMany(models.Turmas, {
foreignKey: 'docente_id'
})
Pessoas.hasMany(models.Matriculas, {
foreignKey: 'estudante_id'
})
}
return Pessoas
}