1.0.1 • Published 5 months ago

egg-myvalidate v1.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
5 months ago

egg-myvalidate

依赖说明

  • 无任何依赖,放心使用

安装配置

$ npm i egg-myvalidate -S
// config/plugin.js

exports.myvalidate = {
  enable: true,
  package: 'egg-myvalidate',
};

// 无需任何配置文件

使用场景

  • 使用egg开发web应用,参数验证,中文描述
  • 支持验证类型 'int','number','string','bool','boolean','date','array','object','email','phone',
  • myvalidate函数挂载在ctx上,可直接使用
  • 如何required:false,则allowNull:false失效

格式

ctx.myvalidate('验证规则',"待验证数据")

举例

const validate = await ctx.myvalidate({
  id:{
    type:'number',
    allowNull:false,
    required:false
  }
},ctx.request.body)

// validate示例值
{
  err: true,
  msg: { name: 'id', msg: '字段不允许为空', message: 'id字段定义非空,传入null' },
  message: [ { name: 'id', msg: '字段不允许为空', message: 'id字段定义非空,传入null' } ]
}
{ err: false, msg: '验证成功', message: '参数全部验证通过' }

重点

  • allowNull:false 可以在 type类型前面加 !代替 如
  const validate = await ctx.myvalidate({
    id:{
      type:'!number',
      required:false
    }
  },ctx.request.body)
// 同上面示例代码
  • allowNull:true 可以在 type类型前面加 ? 代替 如
  const validate = await ctx.myvalidate({
    id:{
      type:'?number',
      required:false
    }
  },ctx.request.body)
// 同
  const validate = await ctx.myvalidate({
    id:{
      type:'number',
      allowNull:true
      required:false
    }
  },ctx.request.body)
  • required:false 可以用 type类型后面加 ?代替 如
  const validate = await ctx.myvalidate({
    id:{
      type:'!number?',
    }
  },ctx.request.body)
// 同上面示例代码
  • required:true 可以用 type类型后面加 !代替 如
  const validate = await ctx.myvalidate({
    id:{
      type:'!number!',
    }
  },ctx.request.body)
// 同
  const validate = await ctx.myvalidate({
    id:{
      type:'!number',
      required:true
    }
  },ctx.request.body)
  • 待验证数据默认值是 ctx.request.body;
  const validate = await ctx.myvalidate({
    id:{
      type:'!number?',
    }
  })
// 同上面示例代码

License

MIT