Joi 日期大于现在

问题描述

我正在使用 Joi 和 express 来验证请求。我需要验证请求正文中的日期字段,所以我的代码是下一个

const dateSchema = Joi.date().greater(Date.Now()).iso().required();

这可以正常工作,但主要问题是 Date.Now() 正在获取我启动快速服务器时的日期。因此,例如,如果服务器在 5:00 启动,则 joi 将不允许 4:59,但会允许大于 5:00 的所有内容,即使当前时间是 5:05。

如何查看Joi.date().greater(dynamicDateNow)

解决方法

遵循 joi document 。您可以使用“now”(字符串)值与当前日期时间(执行验证时)进行比较

const dateSchema = Joi.date().greater('now').iso().required();