簡體   English   中英

使用 Joi 驗證 JS 日期和 Firestore 日期

[英]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 DateFirestore Date

謝謝

編輯:我在以下方面取得了一些進展:

timeline_created: Joi.object().keys({_seconds: Joi.number(),_nanoseconds: Joi.number()}).required()

它驗證了我的Firestore object。
但是,我如何驗證timeline_creatednull還是JS 日期? 謝謝。

這是有效的:

Joi.alternatives([Joi.object().keys({ _seconds: Joi.number(), _nanoseconds: Joi.number() }), Joi.date(), null]).required()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM