验证表单的第三方模块Joi

Joi

JavaScript对象的规则描述语言和验证器。使用命令 npm intstall joi 安装
实际上就是用来验证JavaScript格式的,在Joi内部定义好了许多验证规则,并提供语法让你将不同的规则组合起来,形成符合你的验证规则。然后使用这个规则来验证你想要验证的对象是否符合要求。

Joi.string()表示只能是字符串,alphanum表示是字母或者数字的组合,min和max表示字符串的长度
required表示必填,integer表示要是整数类型
error指定错误信息,它接收一个Error对象作为参数,在Error对象中指定错误信息
regex表示使用正则规则来验证,email表示这个值要满足邮件格式
valid表示只能使用指定的值
[Joi.string(), Joi.number()] 表示既可以是字符串类型,也可以是数字类型
第一个规则一定要是数据类型

const Joi = require('joi');
const schema = {
    username: Joi.string().alphanum().min(3).max(30).required().error(new Error(‘错误信息’)),
    password: Joi.string().regex(/^[a-zA-Z0-9]{3,30}$/),
    access_token: [Joi.string(), Joi.number()],
    birthyear: Joi.number().integer().min(1900).max(2013),
    email: Joi.string().email()
};
// 第一个参数是要验证的对象,第二个参数是验证规则,返回的是一个promise对象
Joi.validate({ username: 'abc', birthyear: 1994 }, schema);
async function run() { 
    try{
        await Joi.validate({username:'b'},schema);
    }catch(ex){
        console.log(ex.message);
        return;
    }
    console.log('验证通过');
    
 }
 run();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值