当前位置: 首页 > news >正文

小程序 表单验证

使用 WxValidate.js 插件来校验表单数据

常用实例方法 

名称返回类型描述
checkForm(e)boolean验证所有字段的规则,返回验证是否通过。
valid()boolean返回验证是否通过。
size()number返回错误信息的个数。
validationErrors()array返回所有错误信息。
addMethod(name, method, message)boolean添加自定义验证方法。

内置校验规则

序号规则描述
1required: true这是必填字段。
2email: true请输入有效的电子邮件地址。
3tel: true请输入11位的手机号码。
4url: true请输入有效的网址。
5date: true请输入有效的日期。
6dateISO: true请输入有效的日期(ISO),例如:2009-06-23,1998/01/22。
7number: true请输入有效的数字。
8digits: true只能输入数字。
9idcard: true请输入18位的有效身份证。
10equalTo: 'field'输入值必须和 field 相同。
11contains: 'ABC'输入值必须包含 ABC。
12minlength: 5最少要输入 5 个字符。
13maxlength: 10最多可以输入 10 个字符。
14rangelength: [5, 10]请输入长度在 5 到 10 之间的字符。
15min: 5请输入不小于 5 的数值。
16max: 10请输入不大于 10 的数值。
17range: [5, 10]请输入范围在 5 到 10 之间的数值。

 

根据 WxValidate.js 插件,定义 验证函数 initValidate 的规则及返回的信息,在 onLoad 生命周期中调用

使用 bindinput 、 bindblur 绑定事件和data-name传入对应的表单字段名 来实现单个输入框失焦的验证

initValidate() {//验证规则和提示信息let rulesAndMsg = {Name: {rules: {required: true},message: {required: '请输入姓名'}},IDCard: {rules: {required: true,idcard: true,},message: {required: '请输入身份证号',idcard: '请输入正确的身份证号码',}},Age: {rules: {required: true,rangeRom: [1, 120],},message: {required: '请输入年龄'}},}//实例化当前的验证规则和提示消息this.WxValidate = new WxValidate(rulesAndMsg);/*** 自定义验证规则传3个参数* name 是添加的方法的名字* method 是一个函数,value:元素的值,param是参数* message 是自定义的错误提示*/this.WxValidate.addMethod('rangeRom', (value, param) => {return this.WxValidate.optional(value) || (value >= param[0] && value <= param[1])}, '年龄范围是: 1-120');},

提交时校验

if (!this.WxValidate.checkForm(this.data.form)) {//表单元素验证不通过,此处给出相应提示this.setData({errorList: this.WxValidate.errorList,})return false;}

更改了方法具体文件点此处详见

http://www.lryc.cn/news/101426.html

相关文章:

  • 本地仓库推送至远程仓库
  • 【Unity2D】角色动画的切换
  • 【MATLAB第62期】基于MATLAB的PSO-NN、BBO-NN、前馈神经网络NN回归预测对比
  • 深度剖析C++ 异常机制
  • adb no permissions (user *** is not in the plugdev group)
  • 【外卖系统】分类管理业务
  • es报错[FORBIDDEN/12/index read-only / allow delete (api)]
  • 关于网络通信安全协议的一些知识(ssl,tls,CA,https)
  • Generative Diffusion Prior for Unified Image Restoration and Enhancement 论文阅读笔记
  • GAMES101 笔记 Lecture13 光线追踪1
  • 【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力
  • 2023“Java 基础 - 中级 - 高级”面试集结,已奉上我的膝盖
  • 开源项目-erp企业资源管理系统(毕设)
  • Leetcode刷题---C语言实现初阶数据结构---单链表
  • opencv hand openpose
  • flutter fl_chart 柱状图 柱条数量较多 实现左右滑动 固定y轴
  • CAN学习笔记1:计算机网络
  • NAND flash的坏块
  • 代码随想录算法训练营第二十五天 | 读PDF复习环节3
  • 18.Netty源码之ByteBuf 详解
  • #P0999. [NOIP2008普及组] 排座椅
  • Sentinel 容灾中心的使用
  • 深度学习中简易FC和CNN搭建
  • 【多模态】20、OVR-CNN | 使用 caption 来实现开放词汇目标检测
  • 网络编程 IO多路复用 [select版] (TCP网络聊天室)
  • 数学建模学习(7):单目标和多目标规划
  • Element UI如何自定义样式
  • protobuf入门实践2
  • adb shell使用总结
  • UG NX二次开发(C++)-Tag的含义、Tag类型与其他的转换