项目作者: sclear

项目描述 :
:zap:轻量级的JavaScript数据验证,可用于任何使用JavaScript的项目中
高级语言: JavaScript
项目地址: git://github.com/sclear/j_validator.git
创建时间: 2019-05-13T05:28:18Z
项目社区:https://github.com/sclear/j_validator

开源协议:

关键词:
from validation validator

下载


j_validator(异步验证)


目的:项目中不一定会引入asyn validator等插件,也不一定会引用到某ui插件,或许我们想要的仅仅是数据层面上的验证.只追求轻量,我们可以使用到它,因为它只有仅仅几十行代码

验证

  • message: 错误信息.
  • required: 是否必填项.
  • max: 该项最大长度.
  • min: 该项最小长度.
  • type: 数据类型检测( Object.prototype.toString.call() ).
  • reg: 使用正则验证.
  • enum: 枚举可选类型.
  • same: 该项等于(===)验证规则.
  • validator: 复杂逻辑使用自定义方法验证(callback()).

    err 错误信息数组(以data数据序列为准) length 大于0时 校验为不通过 err具体信息看以下实例 length 等于0时 校验通过

用法(你如果有使用过async validator,你将会很快学会使用它)

  1. // 规则
  2. let rule = {
  3. name: { required: true, type: 'String', max: 10, min: 2, message: '姓名填写有误' },
  4. phone: { required: true, reg: /1[0-9]{10}/g ,message: '电话填写有误' }
  5. sex: { enum: ['男', '女'], message: '性别填写错误' },
  6. like: [
  7. { required: true, type: 'Array', message: '该项填写错误' },
  8. { validator: function(rule, value, callback) {
  9. if( value.length < 3 ) {
  10. callback()
  11. }
  12. else{
  13. callback( new Error('喜欢的项目过少') )
  14. }
  15. } }
  16. ]
  17. }
  18. let data = {
  19. name: 'Chao jiang',
  20. phone: '18482155012',
  21. sex: '男',
  22. like: ['唱', '跳', 'Rap', '篮球']
  23. }
  24. import j_validator from 'j_j_validator'
  25. let validator = new j_validator(rule)
  26. validator.valid(data)
  27. .then(err=> {
  28. // err 错误信息(err: Array)
  29. // ps: 第一项错误 err => [{ err_key: 'name', err_messge: '姓名填写有误' }]
  30. // ps: 第一项与第二项错误 err =>
  31. // [
  32. // {err_key: 'name', err_messge: '姓名填写有误' },
  33. // { err_key: 'phone', err_messge: '电话填写有误' }
  34. // ]
  35. })