在Joi的最新版本(目前是Joi v17.x)中,验证枚举字符串的方法有所变化。Joi v17.x版本已经将验证逻辑迁移到了新的库@hapi/joi
。以下是如何使用Joi v17.x验证枚举字符串的示例:
首先,确保你已经安装了最新版本的Joi:
npm install @hapi/joi
然后,你可以使用以下代码来验证枚举字符串:
const Joi = require('@hapi/joi');
// 定义一个枚举值数组
const enumValues = ['apple', 'banana', 'orange'];
// 创建一个Joi模式
const schema = Joi.string().valid(...enumValues);
// 要验证的值
const value = 'apple';
// 执行验证
schema.validate(value, (err, value) => {
if (err) {
console.error('Validation error:', err);
} else {
console.log('Validation successful:', value);
}
});
在这个示例中,我们首先导入了@hapi/joi
库,并定义了一个包含枚举值的数组。然后,我们使用Joi.string().valid(...enumValues)
创建了一个Joi模式,该模式只允许在枚举值数组中出现的字符串。
最后,我们使用schema.validate()
方法验证一个值。如果验证失败,将输出错误信息;如果验证成功,将输出验证后的值。
领取专属 10元无门槛券
手把手带您无忧上云