validator
验证restful API接口的参数(Verify the restful API interface parameters)
file-signature的参考地址:https://github.com/leahciMic/file-signature
今后的更改与 https://github.com/ruanjiayou/header-helper 保持一致
安装方式
npm install https://github.com/ruanjiayou/validator.git --save
使用案例
// 特别注意:methods中不能用箭头函数,this是指向validater实例的,validater有一些基本的内置方法(isInt,isFloat等)// express项目,路由中验证参数const validater = ;const validation = // lang: 'zh-cn', //设置语言 rules: id: 'required|int' time: 'required|date' status: 'required|enum:pending,success,fail' IDCard: 'required|methods:isIDCard18,other' methods: { return this; } { // ... 自定义验证,返回boolean值 } ;// 方式一const input = validation;try validation; // ... 业务代码 catcherr return ;// 方式二try const input = validation; // ... 业务代码 catcherr ;
模块说明
删除了代码中的逻辑验证.不要瞎jb写 required|nullable,min:abc,require少个d,range:(20,10),methods:fn1,,fn2等等乱七八的东西
required,nullable,empty,nonzero的区别:required,值不能为undefined;nullable,值可以为null,empty,值可以为空字符串;(empty:专门为前端准备,有些人就是要传id=&search=&time=);nonzero,不能是0或'0' '000'
file类型: 可以为文件对象,可以为字符串
一.内置字段类型(小写)
元类型: boolean/enum/int/float/object/array/string/url/email/date/dateonly/timeonly/file/methods/IDCard/creditCard
限制类型两大类:required/nullable/empty/nonzero/ignore/default/alias/min/max/length/minlength/maxlength/if
说明:联合使用要求,min/max和int/float,minlength/maxlength/length和string
int/float默认{m:10,n:2}
二.内置判断方法
isUrl()/isDate()/isInt()/isFloat()/isEmail()/isID()/isCredit()/isString()/isChar()/isFile()
三.其他成员函数说明
1) error() 统一错误处理,抛出异常
2) filter() 滤除参数中额外的字段
3) check() 对参数中指定的字段进行验证
4) validate() 集成了filter()和check()的功能
5) _str2rule() 将某个字段简约的字符串规则转化为详细的规则对象
6) parse() 对所有的字段使用_str2rule()
7) compile() 简单模板替换