微信小程序:miniprogram-validator进行表单校验

简介: 微信小程序:miniprogram-validator进行表单校验

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

相关文章
|
JSON JavaScript 定位技术
echarts:从github及其镜像下载china.js和china.json
echarts:从github及其镜像下载china.js和china.json
6444 0
|
小程序 前端开发 Java
|
XML JSON Java
springboot文件上传,单文件上传和多文件上传,以及数据遍历和回显
本文介绍了在Spring Boot中如何实现文件上传,包括单文件和多文件上传的实现,文件上传的表单页面创建,接收上传文件的Controller层代码编写,以及上传成功后如何在页面上遍历并显示上传的文件。同时,还涉及了`MultipartFile`类的使用和`@RequestPart`注解,以及在`application.properties`中配置文件上传的相关参数。
springboot文件上传,单文件上传和多文件上传,以及数据遍历和回显
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
JavaScript 数据安全/隐私保护 索引
node.js 命令行交互工具(最新版) inquirer.js 实用教程
node.js 命令行交互工具(最新版) inquirer.js 实用教程
474 0
|
Java 测试技术 开发者
Java线程池ThreadPoolExcutor源码解读详解09-4种拒绝策略
本文介绍了线程池的四种拒绝策略:AbortPolicy、DiscardPolicy、DiscardOldestPolicy和CallerRunsPolicy,并通过代码示例展示了它们在任务过多时的不同处理方式。AbortPolicy会抛出异常并停止主线程;DiscardPolicy会默默丢弃新任务;DiscardOldestPolicy会抛弃队列中最旧的任务来接纳新任务;而CallerRunsPolicy则是由调用者线程执行被拒绝的任务,以减缓新任务的提交速度。这四种策略适用于不同的场景,开发者可以根据需求选择合适的策略。
1692 5
|
机器学习/深度学习 人工智能 监控
Spring Boot与AI机器学习技术探索方向和实施方
Spring Boot与AI机器学习技术探索方向和实施方
503 0
|
关系型数据库 MySQL
922.【mysql】if 函数
922.【mysql】if 函数
695 3
|
JSON 小程序 开发工具
【微信小程序】--JSON 配置文件作用(三)
【微信小程序】--JSON 配置文件作用(三)
|
关系型数据库 MySQL Java
mysql连接池的设计与实现
mysql连接池的设计与实现
464 0