Node.js第九篇:使用joi包实现数据校验

joi模块,主要用来实现验证数据是否符合指定的规则。

使用方式如下:

安装joi模块

npm install joi

代码示例

// 导入joi模块
const joi = require('joi')

// 定义验证规则
const schema = {
  // username必须是字符串类型、最小长度是2、最大长度是6、必填项、自定义验证失败错误信息
  username: joi.string().min(2).max(6).required().error(new Error('用户名格式不正确')),
  // email必须是字符串类型、必须符合邮箱格式、必填项、自定义验证失败错误信息
  email: joi.string().email().required().error(new Error('邮箱格式不正确')),
  // pwd必须是字符串类型、必须符合指定的正则规则、自定义验证失败错误信息
  pwd: joi.string().regex(/^[a-zA-Z0-9]+$/).error(new Error('密码格式不正确')),
  // sex必须是数字类型、值是0或1、必填项、自定义验证失败错误信息
  sex:joi.number().valid(0,1).required().error(new Error('性别格式不正确'))
}
// 要验证的对象
const user = {
  username: 'admin',
  email: 'admin@qq.com',
  pwd: 'abc123',
  sex:0
}
// validate方法验证user是否符合规则
joi.validate(user, schema).then((val) => {
  console.log(val)
  console.log('验证通过')
}).catch((err) => {
  console.log(err)
})
posted @ 2020-05-11 23:28  雷哒哒  阅读(3563)  评论(3编辑  收藏  举报