В документации Sequelize они упомянули следующий способ ограничения значения поля даты после определенной даты.
validate: {
isAfter: '2018-10-02'
}
Но я хочу выполнить эту проверку по другому полю даты из req.body.
Нравиться
validate: {
isAfter: anotherFieldName // fieldname instead of static value
}





У валидаторов поля нет доступа к другим свойствам экземпляра модели. Чтобы подтвердить, что два значения в экземпляре проходят проверку валидации, вы должны использовать настраиваемый объект валидации Sequelize в параметрах модели:
const SomeModel = db.define(
'some_model',
{
start_date: {
type: Sequelize.DATEONLY,
validate: {
isDate: true
}
},
end_date: {
type: Sequelize.DATEONLY,
validate: {
isDate: true
}
},
},
{
validate: {
startDateAfterEndDate() {
if (this.start_date.isAfter(this.end_date)) {
throw new Error('Start date must be before the end date.');
}
}
}
}
);