web-dev-qa-db-ja.com

Joiスキーマのキーに特定の値のみを許可する

正規表現パターン以外のキーのJoi検証スキーマに特定の値を設定する他の方法はありますか?

私のサンプルスキーマ:

const schema = joi.object().keys({
    query: joi.object().keys({
        // allow only Apple and banana
        id: joi.string().regex(/^(Apple|banana)$/).required(),
    }).required(),
})
21
mardok

validのように使用することもできます

const schema = joi.object().keys({
  query: joi.object().keys({
    // allow only Apple and banana
    id: joi.string().valid('Apple','banana').required(),
  }).required(),
})

参考: https://github.com/hapijs/joi/blob/v13.1.2/API.md#anyvalidvalue---aliases-only-equal

38
Jiby Jose