【发布时间】:2021-04-26 03:04:36
【问题描述】:
验证日期字段是否大于现在的 x 天。
现在我有这个 sn-p 来检查日期是否比现在大。
planned_date: Joi.date().greater('now').required()
但我想验证planned_date 比现在多至少 2 天。
这可能与moment.js 结合使用,但无法正常工作。
【问题讨论】:
-
你能做这样的事情吗?
const dateLater = moment.tz(new Date(), '').unix() + 48 * 60 * 60这将在 2 天后的同一时间为您提供日期,然后您可以稍后再执行此操作planned_date: Joi.date().greater(dateLater).required() -
@reD 在这里我只是担心 dateLater 可能会成为一个硬值,而不是每次都被评估。如果可行,我会尝试。
-
另外,JOI 内置的东西会更好。
-
啊,如果在 joi 上构建了任何东西,实际上是 idk,但这肯定会起作用。
planned_date: Joi.date().required().greater(Date.now() + 48 * 60 * 60 * 1000) -
@rED 你上面的评论 'Date.now() + 48 * 60 * 60 * 1000' 对我很有效。我认为您也可以将其添加为答案。
标签: node.js validation hapijs joi