我有一個不可能知道的鍵名的對象 - 它們是由用戶創建的。但是我確實知道它們(鍵)要存儲的值,而它們(值)將是ISO字符串。我如何驗證這些值?而且,可選,我如何驗證UKNOWN對象的關鍵點,即:Joi對象驗證:如何驗證未知鍵名的值?
key: Joi.string().min(2).max(25)
我已經嘗試基於穰API文檔內容:
Another benefits of using Joi.object([schema]) instead of a plain JS object is >that you can set any options on the object like allowing unknown keys, e.g:
const schema = Joi.object({ arg: Joi.string().valid('firstname', 'lastname', 'title', 'company', 'jobtitle'), value: Joi.string(), }).pattern(/firstname|lastname/, Joi.string().min(2));
我從示例理解那是什麼arg
鍵代表Joi.object()
的key
,和value
代表它是value
。
我的例子:
campaign: Joi.object({
arg: Joi.string().valid('unknown'),
value: Joi.date().iso(),
}).pattern(/unknown/, Joi.string().min(2).max(25))
我的輸入;
campaign: { g_ad_adwords: "2017-01-19T11:33:26.205Z" }
我的錯誤:
"campaign" fails because ["g_ad_adwords" is not allowed]