1

次の検証ブロックがあります

  // POST /api/resources
  createResource: {
    body: {
      .... require at least 1 item 
      permissions: Joi.array().items(Joi.object().keys({
        level: Joi.string(),
        level_id: Joi.string().hex(),
        canWrite: Joi.boolean()
      })),
      private: Joi.boolean().required()
    }
  },

プライベート フラグが false の場合、アクセス許可に少なくとも 1 つの項目を要求したい前の質問 ( items() ではなく includes() を使用) に基づいて、次のようなものを使用する必要があります。

 permissions: Joi.array().items(Joi.object().keys({
        level: Joi.string(),
        level_id: Joi.string().hex(),
        canWrite: Joi.boolean()
      })).when('private'{is:false,then:Joi.required()})

しかし、これは動作しません とにかくそれを検証するには?フィードバックをありがとう

4

1 に答える 1