Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何对以下各项进行@hapi/joi验证?_Javascript_Node.js_Validation_Joi - Fatal编程技术网

Javascript 如何对以下各项进行@hapi/joi验证?

Javascript 如何对以下各项进行@hapi/joi验证?,javascript,node.js,validation,joi,Javascript,Node.js,Validation,Joi,在下面的模式中,我需要,如果类型是draw=>[name,accountNumber,ifscCode,branchName,comments,upiId,amount,bonus,userId]来传递 但如果类型是存款,我需要=>[txnReferenceId,amount,bonus,userId]才能通过 const withdrawDepositValidatorSchema = Joi.object({ type: Joi.string(), n

在下面的模式中,我需要,如果类型是draw=>[name,accountNumber,ifscCode,branchName,comments,upiId,amount,bonus,userId]来传递 但如果类型是存款,我需要=>[txnReferenceId,amount,bonus,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()
    })

您可以在条件下使用
。我在这里举一个例子,但其他领域也可以这样做

const withdrawDepositValidatorSchema = Joi.object({
  type: Joi.string(),
  name: Joi.when(Joi.ref("type"), {
    "is": Joi.string().valid("Withdraw"),
    "then": Joi.string(),
    "otherwise": Joi.forbidden()
  }),

我更新了问题,我忘了在第一组中添加金额、奖金、用户ID,[金额、奖金、用户ID]对两者都是通用的。我已经为您提供了方法。如果在一个领域进行训练,我相信你也可以在其他领域进行训练