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();