【发布时间】:2022-01-11 05:32:11
【问题描述】:
我目前正在发现 Joi 库,并且 - 在这个时候 - 这是一次很棒的体验。
但是,我面临一个我无法解决的小问题。需要帮助或建议!
考虑以下架构(有点):
const workSchema = Joi.object({ timeline_created: Joi.date().allow(null).required()) }
当我提交 JS 日期(或 null 值)时,它工作得非常好。
但是,我正在使用 Firestore 将 JS Date 转换为这种对象:
timeline_created: Timestamp { _seconds: 1637258607, _nanoseconds: 349000000 }
因此,我无法验证我的架构(这不是 Joi 知道的日期)。
然后,我的问题是:如何编写我的架构(我希望它是严格/精确的)但同时验证 JS Date 和 Firestore Date。
谢谢
编辑:我取得了一些进展:
timeline_created: Joi.object().keys({_seconds: Joi.number(),_nanoseconds: Joi.number()}).required()
它验证了我的 Firestore 对象。
但是,我如何验证 timeline_created 是 null 还是 JS 日期?谢谢。
【问题讨论】:
标签: javascript validation joi