[英]Validate both JS Date and Firestore Date with Joi
我目前正在發現Joi
圖書館,並且 - 在這個時候 - 這是一次很棒的體驗。
但是,我面臨一個我無法解決的小問題。 需要幫助或建議!
考慮以下模式(有點):
const workSchema = Joi.object({ timeline_created: Joi.date().allow(null).required()) }
當我提交JS
日期(或null
值)時,它工作得很好。
但是,我正在使用將 JS 日期轉換為這種 object 的Firestore
:
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
object。
但是,我如何驗證timeline_created
是null
還是JS 日期? 謝謝。
這是有效的:
Joi.alternatives([Joi.object().keys({ _seconds: Joi.number(), _nanoseconds: Joi.number() }), Joi.date(), null]).required()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.