Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Joi验证器中添加常量?_Javascript_Reactjs_Validation_Joi - Fatal编程技术网

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

Javascript 如何在Joi验证器中添加常量?,javascript,reactjs,validation,joi,Javascript,Reactjs,Validation,Joi,我有一个joi验证程序代码: city: Joi.string().valid([cities]).required() 不变的 const cities = require("../cities"); 我想在city joi validator中添加城市。因为当我测试城市的时候。只有特定的城市值必须位于城市内部。可以将数组作为参数。当您的cities.js导出对象数组时,您可以首先从对象数组中提取值,并根据这些值进行验证 const cities = require("../cities"

我有一个joi验证程序代码:

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

const cities = require("../cities");
我想在city joi validator中添加城市。因为当我测试城市的时候。只有特定的城市值必须位于城市内部。

可以将数组作为参数。当您的
cities.js
导出对象数组时,您可以首先从对象数组中提取
,并根据这些值进行验证

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 

消息“:“child\“cities\”失败,因为[\“cities\”必须是[[object object]、[object object]、[object object]中的一个,它给出了此错误。但是path是正确的,为什么它给出了空数组object。你可以发布
cities.js
code吗?它似乎是一个对象数组。const cities=[{text:“Gondor”,value:“Gondor”,id:1},{text:“魔多”,value:“魔多”,id:2}]好的,我假设
元素的
value
字段设置为
city.value
而不是
city.name
之后,我需要在选择gondor时对子城市进行限制。如果选择了gondor={gondor's subcities}如果选择other,则其他子城市有效。您好,欢迎来到StackOverflow!询问之前您是否接受了询问?请添加有关您的问题的更多信息,并确保您的问题完整且可验证!