Joi数组验证将覆盖潜在的错误。有办法克服吗?

我需要验证对象数组。每个对象可以是:

{
  id; "some-id"
}

{
  "mobile_number": "some-string"
}

我有以下代码:

const Joi = require('Joi')


const idSchema = Joi.object().keys({
  user_id: Joi.string().required(),});

const mobileSchema = Joi.object().keys({
  mobile_number: Joi.string().required().error(),});

const schema = Joi.object()
    .keys({
      members: Joi.array()
      .items(idSchema,mobileSchema)
      .required()
    })
    .required()


console.log(Joi.validate({
  members: [{ mobile_number: null }],},schema))

我希望它显示出mobile_number是必需的。它失败并显示:

{ error: 
   { ValidationError: child "members" fails because ["members" at position 0 does not match any of the allowed types]```

所有项目都不匹配架构的错误将覆盖基本错误。

可以解决这个问题吗?

注意:我使用的是Joi 10.6,升级到新版本时受到限制

www2281100 回答:Joi数组验证将覆盖潜在的错误。有办法克服吗?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3168950.html

大家都在问