Node.js Joi数组验证将覆盖基础错误。有没有办法克服这个问题?
我需要验证一组对象。每个对象可以是:Node.js Joi数组验证将覆盖基础错误。有没有办法克服这个问题?,node.js,joi,Node.js,Joi,我需要验证一组对象。每个对象可以是: { id; "some-id" } 或 我有以下代码: 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(), })
{
id; "some-id"
}
或
我有以下代码:
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))
我希望它显示手机号码是必需的。它失败于:
{ error:
{ ValidationError: child "members" fails because ["members" at position 0 does not match any of the allowed types]```
没有任何项与架构匹配的错误将覆盖基础错误
有办法吗
注意:我使用的是Joi 10.6,升级到新版本有一些限制
{ error:
{ ValidationError: child "members" fails because ["members" at position 0 does not match any of the allowed types]```