如何创建 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
使用
object()
模式,然后检查它是否是 Set
原型的实例。
mode: Joi.object().instance(Set)
我找不到指定集合元素类型的方法。您可以使用扩展机制来定义您自己的字符串集架构。