Javascript 如何基于对象通过代码生成Joi验证,并使用Nodejs将其保存在文件中
我试图通过基于对象的代码生成Joi验证。我想知道是否有一种方法可以通过编程生成它们并将它们存储到文件中。我尝试了以下方法: 假设我有一个对象,如下所示:Javascript 如何基于对象通过代码生成Joi验证,并使用Nodejs将其保存在文件中,javascript,node.js,validation,hapijs,joi,Javascript,Node.js,Validation,Hapijs,Joi,我试图通过基于对象的代码生成Joi验证。我想知道是否有一种方法可以通过编程生成它们并将它们存储到文件中。我尝试了以下方法: 假设我有一个对象,如下所示: let obj = [{ Key: 'key1', Type: 'string' }] 用于生成Joi验证对象的函数: function getJoiObject(data) { const obj = {}; Object.keys(data).forEach(key => { if (da
let obj = [{
Key: 'key1',
Type: 'string'
}]
用于生成Joi验证对象的函数:
function getJoiObject(data) {
const obj = {};
Object.keys(data).forEach(key => {
if (data[key].Type === "string")
obj[data[key].Key] = Joi.string();
else if (data[key].Type === "integer")
obj[data[key].Key] = Joi.number();
else if (data[key].Type === "boolean")
obj[data[key].Key] = Joi.boolean();
});
return obj;
}
我将对象保存到一个文件中,并在另一个文件中使用它进行验证
fs.writeFileSync('validations.json', JSON.stringify({res:getJoiObject(obj)}));
问题是,当我将validations.json导入另一个文件并使用数据对其进行验证时,它将无法工作
const a = {key1:'abc'};
Joi.object(validations.res).validate(a)
你能帮忙吗
提前谢谢