【发布时间】:2017-08-12 09:32:32
【问题描述】:
有没有办法将两个 joi 模式合并为一个模式?
架构 1
{
alpha: Joi.number().required(),
beta: Joi.string().required(),
chalie: Joi.object({
xray: Joi.number().required(),
}).required()
}
架构 1
{
delta: Joi.string().required(),
echo: Joi.number().required(),
charlie: Joi.object({
zulu: Joi.string().required(),
}).required()
}
合并架构:
{
alpha: Joi.number().required(),
beta: Joi.string().required(),
chalie: Joi.object({
xray: Joi.number().required(),
zulu: Joi.string().required(),
}).required()
delta: Joi.string().required(),
echo: Joi.number().required(),
}
如果没有嵌套对象,使用Object.assign 可以轻松完成,但即使是深度对象合并也无法处理嵌套对象,因为嵌套对象是一个函数调用。
【问题讨论】:
-
您可以使用
Object.assign()和Joi的concat()的组合来创建自己的函数
标签: validation object merge joi