Ama*_*ngh 4 validation node.js sequelize.js
在 Sequelize 的文档中,他们提到了以下方法将日期字段值限制在某个日期之后。
validate: {
isAfter: '2018-10-02'
}
Run Code Online (Sandbox Code Playgroud)
但我想针对另一个日期字段执行此验证 req.body
喜欢
validate: {
isAfter: anotherFieldName // fieldname instead of static value
}
Run Code Online (Sandbox Code Playgroud)
字段验证器无权访问模型实例的其他属性。为了验证实例上的两个值是否通过验证检查,您应该在模型选项中使用 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.');
}
}
}
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |