Joi 中如何判断一个对象是否是 Set?

问题描述 投票:0回答:1

如何创建 Joi 验证来检查 Set 类型?我的对象确实包含一个具有 new Set([]) 类型的字段,但使用 Joi.array().unique 在验证时会引发错误。

const data = { name: "Thank you", mode: new Set(["happy"]) };

const dataSchema = Joi.object({
   name: Joi.string().required(),
   mode: Joi.array().unique().items(Joi.string())
})

但是当调用

dataSchema.validate(data)
时它会抛出错误
"mode" must be an array

javascript validation set joi
1个回答
0
投票

使用

object()
模式,然后检查它是否是
Set
原型的实例。

mode: Joi.object().instance(Set)

我找不到指定集合元素类型的方法。您可以使用扩展机制来定义您自己的字符串集架构。

© www.soinside.com 2019 - 2024. All rights reserved.