javascript - 在不创建对象的情况下如何调用 Joi 类的方法?
问题描述
我尝试使用 Joi NPM 模块,在文档中它声明它是一个类,但它在没有创建类对象的情况下使用,这是var joi = new Joi();
如何工作的?
我对类的工作原理有一点了解,可以通过创建类实例或将类声明为静态来使用它。下面是代码。
const Joi = require('@hapi/joi');
function validation(args) {
const schema = {
"name": Joi.string().min(3).required()
};
return Joi.validate(args,schema);
}
app.put('/api/courses/:id',(req,res)=>{
const course = courses1.find(c => c.id === parseInt(req.params.id));
if(!course){
res.status(404).send('course not found...');
}
else{
const {error} = validation(req.body);
if(error){
res.status(400).send(error.details[0].message);
}
else{
course.name = req.body.name;
res.status(200).send(courses1);
}
}
});
解决方案
// make new component validation.js
const Joi = require('@hapi/joi');
const signupValidation = (data) => {`enter code here`
const schema = Joi.object({
name: Joi.string().required(),
email: Joi.string().required().email(),
password: Joi.string().required(),
role:Joi.string(),
})
return schema.validate(data)
}
module.exports.signupValidation = signupValidation ;
//now you can import in your required component
import {signupValidation } from './validation'
推荐阅读
- excel - 对没有分隔符的文本数据进行排序
- java - 如何将独立应用程序与 Android 应用程序结合起来?
- python - 如何防止熊猫仅将一个df的值分配给另一行的另一列?
- amazon-ecs - Fargate 错误:无法从私有子网拉取托管在 ECR 中的容器
- php - 使用带有数组值的 str_replace() 会产生意外的结果
- dart - 如何在 Google Cloud SQL 和 Flutter 之间传输数据?
- tree - 用于分析的回归树
- visual-studio-code - 仅在 vs 代码编辑器中将“查找”搜索限制为选定的文本
- python - Python:替换 Dataframe 子集中的负数:
- html - 框架虚拟现实中的声音无法在手机或笔记本电脑上运行