web-dev-qa-db-ja.com

Joiで他のキーを許可する方法

簡単な要件があります。インターネットだけでなくドキュメントも検索しようとしましたが、失敗しました。
だから、私が達成したいことは次のとおりです。

私はスキーマを持っています:

const schema = Joi.object().keys({
  a: Joi.string().required(),
  b: Joi.string().required()
});

さて、オブジェクト内の他のキーが許可されるように設定するにはどうすればよいですか?

このスキーマでは、2つのキーaおよびbのみが許可されます。他のキー、たとえばcを渡すと、cが許可されていないことを示すエラーがスローされます。

13
Anand Undavia

正しい答えは、実際には object.unknown(true) を使用することです。

const schema = Joi.object().keys({
  a: Joi.string().required(),
  b: Joi.string().required()
}).unknown(true);
41