不建议使用这个验证器

来源:5-1 Lin-Validator使用指南

慕九州5038668

2020-12-30

不推荐使用老师推荐的这个验证器。
建议使用1个叫joi的验证器,github有17k星星。有了这个,以后所有前端后端验证器,都不需要再学其他的了
joi优点:
1.前端、后端全都能用,语法完全一致。
2.支持错误信息精准匹配,也支持1字段匹配1个错误信息
3.提供的具体的验证规则多达200多条,导致几乎所有的规则都有,最终导致几乎不需要写正则表达式。大幅度减少写 正则出错的几率.
joi缺点:
1.当使用精准匹配错误信息的时候,需要查阅文档的规则所对应的错误类型,就这1个缺点.
例子:

const Joi = require("joi")
//1.生成规则
const rule = Joi.object().keys({
    //1.1.这里属于错误信息,精准匹配,这是joi的固定写法
    email: Joi.string().required().email()
        .messages({
            'string.base': '邮箱必须是字符串类型',  //string()规则对应了“string.base”的错误类型
            'any.required': '请输入邮箱',         //required()规则对应了“any.required”的错误类型
            'string.email': '邮箱格式不正确'      //email()规则对应了“string.email”的错误类型
        }),
   //1.2.这种属于1字段匹配1个错误信息,等于几个错误就1个错误信息,都可以这样混用,想怎么用怎么用
   password: Joi.string().trim().required().min(6).max(18).alphanum().error(new Error("密码不正确")
})
//2.使用规则验证指定的数据
const result = rule.validate({ email: "aaaa.@sina.com", password: "abc123" });
//3.如果result.error为真,证明有错误,否则证明验证通过
if(result.error){
	console.log(result.error.message)
}

写回答

1回答

慕九州5038668

提问者

2020-12-30

补充,这个验证器非常的强大,不只是上面这些验证对象的,单独的验证1个变量也是可以做的,几乎关于验证数据的,就用这个joi就足够了。

但是关键点在于,如果真的想要学好这个joi,最好要去翻译1下它的英文文档。

1
1
慕桂英1672925
你这是在砸7月老师的LinValidator的招牌
2021-04-20
共1条回复

Node.js+Koa2+MySQL打造前后端分离精品项目《旧岛》

理解异步编程本质/培养面向对象思维,独立完成Node.js服务端开发

2223 学习 · 878 问题

查看课程