问题描述
我正在使用 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();