1.0.0 • Published 3 years ago

miniprogram-validator v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

miniprogram-validator

基于 WxValidate - 表单验证 扩展的微信小程序表单验证器,规则配置可参考其文档。

配置规则格式参考 ElementUI 使用的async-validator(仅参考其格式)

表单校验的方案:

  • 后端校验:无论前端是否校验,数据入库前都需要进行校验
  • 前端校验:如果需要提升用户体验或者减少请求次数的情况下,前端需要数据校验。如果应用的要求不高,可以免去前端校验

使用示例

将两个文件拷贝到文件夹下

libs/
    validator.js
    WxValidate.js
const Validator = require('./validator.js');

// 需要校验的数据
let data = {
  name: 'Tom',
  age: 10,
  school: 'A',
};

// 校验规则 {field: rules}
let rules = {
  name: [{ message: '姓名不能为空', required: true }],
  age: [
    { message: '年龄不能为空', required: true },
    { message: '年龄不能大于10', max: 10 },
  ],
  school: [
    {
      message: '学校只能是A/B',
      validator: (value, param) => {
        return !value || (value && ['A', 'B'].includes(value));
      },
    },
  ],
};

let validator = new Validator(rules);
let error = validator.validate(data);

if (error) {
  console.log('校验出错');
  console.log(error);
} else {
  console.log('校验通过');
}

完整代码: https://github.com/mouday/miniprogram-validator