Как сделать проверку @ hapi / joi для следующего? - PullRequest
0 голосов
/ 06 февраля 2020

В следующей схеме мне нужно, чтобы, если type был снят => [name, accountNumber, ifscCode, branchName, комментарии, upiId, сумма, бонус, userId] для передачи, но если type is deposit, мне нужно => [txnReferenceId, сумма, бонус, userId], чтобы пройти.

    const withdrawDepositValidatorSchema = Joi.object({
        type: Joi.string(),
        name: Joi.string(),
        accountNumber: Joi.number(),
        ifscCode: Joi.string().alphanum(),
        branchName: Joi.string(),
        comments: Joi.string(),
        upiId: Joi.string(),
        txnReferenceId: Joi.number(),
        amount: Joi.number(),
        bonus: Joi.number(),
        userId: Joi.string()
    })

1 Ответ

1 голос
/ 06 февраля 2020

Вы можете использовать when условие. Я привожу один пример, но это можно сделать и для других полей.

const withdrawDepositValidatorSchema = Joi.object({
  type: Joi.string(),
  name: Joi.when(Joi.ref("type"), {
    "is": Joi.string().valid("Withdraw"),
    "then": Joi.string(),
    "otherwise": Joi.forbidden()
  }),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...