第三方庫文件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();