web-dev-qa-db-ja.com

Joi文字列検証で列挙値を使用する方法

HTTPリクエストにJoiバリデーターを使用しています。 typeというパラメーターがあります。パラメーターの可能な値が「ios」または「Android」であることを確認する必要があります。

どうやってやるの?

body : {
  device_key : joi.string().required(),
  type : joi.string().required()
}
10

validを使用できます。

const schema = Joi.object().keys({
  type: Joi.string().valid('ios', 'Android'),
});

const myObj = { type: 'none' };
const result = Joi.validate(myObj, schema);
console.log(result);

これにより、エラーValidationError: child "type" fails because ["type" must be one of [ios, Android]]

19
AbhinavD