Я хочу, чтобы мои пользователи были старше 8 лет, когда они регистрируются.Я следовал этому примеру, чтобы создать свой собственный валидатор: http://docs.sequelizejs.com/manual/models-definition.html#validations. Вот оно:
// In a model file
module.exports = (sequelize, Sequelize) => {
return sequelize.define('Utilisateur', {
// ...
DateNaissance: {
type: Sequelize.DATEONLY,
validate: {
isOldEnough(value) {
let ageCheck = new Date(Date.now());
ageCheck.setFullYear(ageCheck.getFullYear-8);
if (ageCheck < value) {
throw new Error('Too young');
}
}
}
}
}, {
timestamps: false
});
}
Дело в том, что когда я пытаюсь зарегистрировать этого пользователя, он работает, тогда как не должен:
{
"email": "test@test.com",
"password": "12345678",
"prenom": "prenomTest",
"nom": "nomTest",
"dateNaissance": "2018-03-03", // <<--
"nomVillage": "villageTest",
"NPA": "9999",
"noRue": 42,
"nomRue": "Chemin du test"
}
Мне также интересно, действительно ли это можно сделать с помощью моделей Sequelize, учитывая, что определение модели будет сделано только один раз ?!Возможно, я должен сделать эту проверку в триггере?