如何在 Joi 验证器中添加常量?

How to add constant inside Joi validator?

我有一个 joi 验证器代码:

city: Joi.string().valid([cities]).required()

和常数

const cities = require("../cities");

我想在 city joi 验证器中添加城市。因为当我测试城市。只有特定的城市值必须在城市内部。

.valid可以接受一个数组作为参数。当您的 cities.js 导出对象数组时,您可以首先从对象数组中提取 value 并针对这些对象进行验证。

const cities = require("../cities"); // cities is an array.

const cityValues = cities.map(aCity => aCity.value); // extract the value


city: Joi.string().valid(cityValues).required() // pass the array