Joi:javaScript對象的規則描述語言和驗證器
1.npm install joi@14.3.1
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 joi@14.3.1版本即可
//引入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();