gpt4 book ai didi

javascript - Joi 覆盖键嵌套模式

转载 作者:行者123 更新时间:2023-12-02 22:45:00 25 4
gpt4 key购买 nike

所以我有一个类似的架构

const buttonSchema = Joi.object().keys({
object: Joi.string().valid('button').required(),
id: Joi.string().required(),
text: textSchema.required(),
icon: Joi.string().uri({
scheme: 'https'
}),
action: actionSchema,
styles: stylesSchema.required()
});
const stylesSchema = Joi.object().keys({
width: Joi.string().pattern(/^[1-9][0-9]?%$|^100%$/).required(), // 1 - 100 %
height: Joi.number().positive(),
position: Joi.string().valid('left', 'center', 'right'),
align: Joi.string().valid('left', 'center', 'right'),
default: defaultStylesSchema.required(),
disabled: defaultStylesSchema.required(),
pressed: defaultStylesSchema.required()
});

在另一个文件中,我试图覆盖buttonSchema.styles.align属性..基本上添加一个required()..

我尝试了很多变化..这是最突出的一个

const reactionsButtonSchema = buttonSchema.keys({
styles: buttonSchema.styles.keys({
align: Joi.string().valid('left', 'center', 'right').required(),
})
});

但这不起作用..有人知道如何实现这一目标吗?

最佳答案

在 JOI 做出支持响应后,可以使用

来完成此操作
const reactionsButtonSchema = buttonSchema.concat(Joi.object({ styles: { align: Joi.required() }}));

如果其他人也遇到这个问题,你就有答案了。

关于javascript - Joi 覆盖键嵌套模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58442106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com