有没有办法将两个 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
很容易完成。 ,但即使是深度对象合并也不适用于嵌套对象,因为嵌套对象是一个函数调用。
最佳答案
我想知道同样的事情,因为我想合并两个不同的模式,发现这个:https://github.com/hapijs/joi/blob/v9.0.4/API.md#anyconcatschema
const a = Joi.string().valid('a');
const b = Joi.string().valid('b');
const ab = a.concat(b);
希望能帮到你
关于validation - 有没有办法合并 Joi 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42914891/