私はおそらく知ることのできないキー名を持つオブジェクトを持っています。それらはユーザーによって作成されています。しかし、私は彼ら(キー)がどのような値を格納しようとしているのか分かり、ISOストリングになるでしょう。これらの値を検証するにはどうすればよいですか?そして、任意で、どのように私はすなわち、にUnknownオブジェクトのキーを検証します: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]