当前位置: 主页 > 建站知识 > 小程序

微信小程序表单验证-微信小程序 清空表单

发布时间:2023-01-25 10:08   浏览次数:次   作者:佚名

在做web开发的时候微信小程序表单验证,表单验证插件的前端使用jqueryValidate。 由于本人主要专注于后台JAVA开发,为了更好的将插件与后台结合使用,我将所有的表单通过JAVA自定义组件进行了重写。 同时再次封装了jqueryValidate,增加了一些新的常用判断,也修改了一些关键字。

小程序也存在验证问题。 上网查了一下,发现用的比较多的还是WxValidate。 下载地址和使用方法如下

知乎:

但是这个插件使用起来比较麻烦,js需要写很多预设代码,所以我基于这个插件重新封装了。

下面直接说用法,以非空(notEmpty)和长度(size)为例。

1.wxml文件

姓名 密码

微信小程序表单验证_微信小程序 wps表单_微信小程序 清空表单

重复密码 年龄

微信小程序 wps表单_微信小程序表单验证_微信小程序 清空表单

重要提示:每个表单控件都必须具有 3 个属性和一个特定的样式关键字。

属性

阐明

ID

表单控件的ID

数据验证

需要验证的关键字,多次验证用'|'分隔,例如上面的name需要验证不为空,长度为4-10个字符:

data-validate="notEmpty|size[4,10]"

数据字段名

发生错误时错误消息中显示的表单名称。

风格

阐明

wx验证

指示此表单控件需要验证并且必须写入。

二.js文件

import WxValidate from '../../utils/WxValidate.js'
const util = require('../../utils/util.js')
Page({
  /**
   * 页面的初始数据
   */
  data: {

微信小程序 wps表单_微信小程序 清空表单_微信小程序表单验证

date:"" }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { //验证方法 this.WxValidate = new WxValidate(); }, bindDateChange : function(e){ this.setData({date:e.detail.value}) }, /***调用验证函数***/ formSubmit: function (e) { console.log('form发生了submit事件,携带的数据为:', e.detail.value) const params = e.detail.value e.detail.value.osscation_address = this.data.osscation_address e.detail.value.date = this.data.date console.log(e.detail.value) console.log(this.WxValidate.rules)

微信小程序表单验证_微信小程序 清空表单_微信小程序 wps表单

console.log(this.WxValidate.messages) //校验表单 if (!this.WxValidate.checkForm(params)) { const error = this.WxValidate.errorList[0] util.alert("错误提示",error.msg) return false } //向后台发送时数据 wx.request... util.alert("成功提示", '提交成功 :' + e.detail.value.date) } })

要点:本页面只需要在rendered方法中添加new WxValidate()即可; 然后在提交的操作中加入判断。 比如下图中的效果。

微信小程序 清空表单_微信小程序 wps表单_微信小程序表单验证

3.验证关键字

关键词

阐明

用法

不是空的

不能为空

尺寸[4,10]

输入字符长度

可以只写一个数字,注意是否写“,”要看判断。例如

如果最小长度为4,可以写成:size[4];

如果最大长度为10,可以写成:size[,10],注意逗号;

整数

整数

微信小程序 wps表单_微信小程序 清空表单_微信小程序表单验证

数字

数字

范围[18,60]

取值范围

和size类似,但是这个关键字多了一个判断,比如不包括first和last的值,比如

工资必须大于5000且小于等于20000:range(5000,20000];

或者年龄必须在 18-60 之间,但不包括 18 和 60:range(18,60)

等于[id]

等于另一种形式的价值

id:表示另一个控件的id微信小程序表单验证,这里也可以这样写:

equals[id, 另一个控件的名称] 格式,例如:equals[id, 电话号码]

"输入的值必须与【手机号】相同!"; 如果不填写以下名称,验证失败时默认提示“请输入与上述相同的密码”。

电话

电话制式(中国大陆)

电话

手机制式(中国大陆)

身份证

身份证(中国大陆)

日期

日期

日期ISO

日期(ISO),例如:2009-06-23、1998/01/22

电子邮件

电子邮件地址

网址

网站地址

PS:这个控件最终应该会和wx.request一起打包使用。 我打包wx.request之后再写。

插件下载: