第三方库文件Joi对数据进行验证的方法以及解决Joi.validate is not a function的问题

  • 2020 年 11 月 15 日
  • 笔记

Joi:javaScript对象的规则描述语言和验证器

1.npm install [email protected]

2.建立joi.js文件

3.导入第三方包joi

const Joi = require(‘joi’);

4.自定义验证规则

const schema = {

  username:Joi.string().min(2).max(10).required().error(new Error(‘用户名不符合验证规则’)

}

5.使用验证规则验证数据是否符合,使用joi的一个方法validate,返回的是promise对象

Joi.validate({username:’zhangsan’},schema);

6.因为上面的方法是返回promise,所以可以用异步函数来处理

async function run() {

  try{

     await Joi.validate({username:’zhangsan’},schema);

  }catch(ex) {

    console.log(ex.message);

    return;

  }

  console.log(验证通过’);

run();

7.如果在验证规则时,出现Joi.validate is not a function的问题,则有可能是版本问题,只需卸载当前的joi版本,重新npm install [email protected]版本即可

 

//引入Joi模块
const Joi = require(‘joi’);
//定义对象的验证规则
const schema = {
    username: Joi.string().min(2).max(10).required().error(new Error(‘用户名不符合验证规则’))
}
async function run() {
    try {
        //使用规则验证对象 返回的是promise对象 所以可以用异步函数进行处理
        await Joi.validate({ username: ‘张三’ }, schema);
    } catch (ex) {
        console.log(ex.message);
        return;
    }
    console.log(‘验证通过’);
}
run();