Node.js 数据验证器 validator.js 类似Laravel和ThinkPHP

 https://github.com/skaterdav85/validatorjs

这个貌似是github上星数,最高的验证器了。 果然没有让我失望,很类似Laravel和ThinkPHP中的数据验证器。唯一的缺陷,是没有场景这种功能。

let Validator = require('validatorjs');

let data = {
  name: '',
  myemail: 'johndoe@sss.ss',
  age: 12
};

let rules = {
  name: 'required',
  myemail: 'required|email',
  age: 'min:18'
};

let message = {
  "required.name":"必须填写名称!",
  "required.email":"必须填写邮箱!",
  "email.myemail":"邮箱格式不正确!"
};

let validation = new Validator(data, rules, message);

if (validation.fails()) {
  console.log(validation.errors.first('name'));
  console.log(validation.errors.first('myemail'));
  console.log(validation.errors.first('age'));
}else{
  console.log("sssss");
}

 

感觉这个不适合我。 自己写验证器吧!

/**
 * 验证器
 */

Validator = require('validator');

module.exports = function articleValidator(data){      
  this.message = '';

  if(!Validator.isEmpty(data.name)){
    this.message = "名字不能为空!";
    return false;
  }
  if(!Validator.isLength(data.name,{min:2,max:50})){
    this.message = "名字的长度不能小于2位并且不能大于50位!";
    return false;
  }
  if(Validator.isEmpty(data.content)){
    this.message = "文章内容不能为空!";
    return false;
  }
  
  return true;
}

 

 

修改时间 2019-05-27

真诚赞赏,手留余香
赞赏
随机推荐
Android Studio 和 JDK 版本
使用FormData无刷新上传文件
详解移动端网页适配开发
Webpack 使用 HtmlWebpackPlugin 简化了HTML文件的创建
JS时间戳转换
Cheerio 中文文档
PS笔记
Apache自带的ab压力测试工具
Node.js 递归遍历目录
通过 Apache 代理访问 Node