如何根据相对日期验证 Joi 日期?
How to validate Joi date based on a relative date?
我知道您可以执行此操作来验证应该早于当前日期时间的日期:
const schema = Joi.object().keys({
date: Joi.date().less("now").iso().required()
})
但是,我想更进一步,根据 "now" 或另一个字段的相对日期验证字段。
更具体地说,我想验证一个字段以确保它小于 ("now" + 12 小时) 或 ("other field" + 12 小时)。
我该怎么做?
您可以使用Joi.ref("someField")
来引用较少条件下的其他字段。如果你需要修改一些东西,那么你可以创建一个像这样的自定义函数
Joi.date().less(Joi.ref('someField', {"adjust": someField => return someField + 1}));
adjust 函数基本上采用传入引用字段的值和 returns 修改后的值。
希望对您有所帮助。
我知道您可以执行此操作来验证应该早于当前日期时间的日期:
const schema = Joi.object().keys({
date: Joi.date().less("now").iso().required()
})
但是,我想更进一步,根据 "now" 或另一个字段的相对日期验证字段。
更具体地说,我想验证一个字段以确保它小于 ("now" + 12 小时) 或 ("other field" + 12 小时)。
我该怎么做?
您可以使用Joi.ref("someField")
来引用较少条件下的其他字段。如果你需要修改一些东西,那么你可以创建一个像这样的自定义函数
Joi.date().less(Joi.ref('someField', {"adjust": someField => return someField + 1}));
adjust 函数基本上采用传入引用字段的值和 returns 修改后的值。
希望对您有所帮助。