Joi 验证一个集合?
Joi validating a Set?
在打字稿中我有一组允许的平台,表示为一组联合:
type Platform = 'WEB' | 'APP' | 'MAIL'
type AllowedPlatforms = Set<Platform>
我想验证一个数组并使用 Joi 将其转换为一个集合:
const validPlatforms = [Joi.string().valid('WEB'), Joi.string().valid('APP'), Joi.string().valid('MAIL')]
const validatePlatform = Joi.array().items(validPlatforms)
e
现在,验证器应检查它是一个数组,其中每个项目都是三个值之一。根据文档,应该有一个转换函数,以便我可以在之后将它转换为一个集合,但我不知道如何使用它 (https://hapi.dev/family/joi/?v=16.1.8#anycastto)。我试过 Joi.array().cast('set')
但 Typescript 抱怨 cast 不存在。
Cast 存在于@hapi/joi 的 16.1.8 版本中,但是我使用的是不包含 cast 的包 joi。这就是为什么它不起作用。
在打字稿中我有一组允许的平台,表示为一组联合:
type Platform = 'WEB' | 'APP' | 'MAIL'
type AllowedPlatforms = Set<Platform>
我想验证一个数组并使用 Joi 将其转换为一个集合:
const validPlatforms = [Joi.string().valid('WEB'), Joi.string().valid('APP'), Joi.string().valid('MAIL')]
const validatePlatform = Joi.array().items(validPlatforms)
e
现在,验证器应检查它是一个数组,其中每个项目都是三个值之一。根据文档,应该有一个转换函数,以便我可以在之后将它转换为一个集合,但我不知道如何使用它 (https://hapi.dev/family/joi/?v=16.1.8#anycastto)。我试过 Joi.array().cast('set')
但 Typescript 抱怨 cast 不存在。
Cast 存在于@hapi/joi 的 16.1.8 版本中,但是我使用的是不包含 cast 的包 joi。这就是为什么它不起作用。