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)
})