天天看点

解决Joi.Validate is not a function问题、使用最新版本joi、验证表单信息无效

在写博客项目时,需要验证客户端上传的表单信息,所以想到了joi。

但是页面发送请求后joi没有进行验证,发现是joi版本的问题,joi原先的validate用法更改了

不能再用如下的方法

解决Joi.Validate is not a function问题、使用最新版本joi、验证表单信息无效
解决Joi.Validate is not a function问题、使用最新版本joi、验证表单信息无效

方法的新版用法为

const schema = Joi.object({
   name: Joi.string().min(3).required().error(new Error('invalid name'))
});
const result = schema.validate(req.body);
           

但是注意,如果你表单验证这一块用了异步

需要使用validateAsync

解决Joi.Validate is not a function问题、使用最新版本joi、验证表单信息无效

 没错,我就因为这玩意浪费了一个多小时,所以看官网很重要

如果不想运用新方法,则可以回退joi版本

npm uninstall joi

npm install [email protected]

继续阅读