微信小程序表单验证功能完整实例


Posted in Javascript onDecember 01, 2017

本文实例讲述了微信小程序表单验证功能。分享给大家供大家参考,具体如下:

Wxml

<form bindsubmit="formSubmit" bindreset="formReset">
 <input name="name" class="{{whoClass=='name'?'placeholderClass':'inputClass'}}" placeholder="请填写您的姓名" type="text" confirm-type="next" focus="{{whoFocus=='name'?true:false}}" bindblur="nameBlurFocus" />
 <radio-group name="gender" bindchange="radioChange">
  <radio value="0" checked />女士
  <radio value="1" />先生
 </radio-group>
 <input name="mobile" class="{{whoClass=='mobile'?'placeholderClass':'inputClass'}}" type="number" maxlength="11" placeholder="请填写您的手机号" bindblur="mobileBlurFocus" focus="{{whoFocus=='mobile'?true:false}}" />
 <input name="company" class="{{whoClass=='company'?'placeholderClass':'inputClass'}}" placeholder="公司名称" type="text" confirm-type="next" focus="{{whoFocus=='company'?true:false}}" />
 <input name="client" class="{{whoClass=='client'?'placeholderClass':'inputClass'}}" placeholder="绑定客户" type="text" confirm-type="done" focus="{{whoFocus=='client'?true:false}}" />
 <button formType="submit">提交</button>
</form>
<loading hidden="{{submitHidden}}">
 正在提交...
</loading>

app.js

import wxValidate from 'utils/wxValidate'
App({
  wxValidate: (rules, messages) => new wxValidate(rules, messages)
})

news.js

var appInstance = getApp()
//表单验证初始化
onLoad: function () {
    this.WxValidate = appInstance.WxValidate(
      {
        name: {
          required: true,
          minlength: 2,
          maxlength: 10,
        },
        mobile: {
          required: true,
          tel: true,
        },
        company: {
          required: true,
          minlength: 2,
          maxlength: 100,
        },
        client: {
          required: true,
          minlength: 2,
          maxlength: 100,
        }
      }
      , {
        name: {
          required: '请填写您的姓名姓名',
        },
        mobile: {
          required: '请填写您的手机号',
        },
        company: {
          required: '请输入公司名称',
        },
        client: {
          required: '请输入绑定客户',
        }
      }
    )
  },
  //表单提交
   formSubmit: function (e) {
     //提交错误描述
    if (!this.WxValidate.checkForm(e)) {
      const error = this.WxValidate.errorList[0]
      // `${error.param} : ${error.msg} `
      wx.showToast({
        title: `${error.msg} `,
        image: '/pages/images/error.png',
        duration: 2000
      })
      return false
    }
    this.setData({ submitHidden: false })
    var that = this
    //提交
    wx.request({
      url: '',
      data: {
        Realname: e.detail.value.name,
        Gender: e.detail.value.gender,
        Mobile: e.detail.value.mobile,
        Company: e.detail.value.company,
        client: e.detail.value.client,
        Identity: appInstance.userState.identity
      },
      method: 'POST',
      success: function (requestRes) {
        that.setData({ submitHidden: true })
        appInstance.userState.status = 0
        wx.navigateBack({
          delta: 1
        })
      },
      fail: function () {
      },
      complete: function () {
      }
    })
  }

WxValidate.js 文件点击此处本站下载

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
基于JQuery的简单实现折叠菜单代码
Sep 15 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
Mar 28 Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
Jun 20 Javascript
浅析Jquery操作select
Dec 13 Javascript
详解Webpack DLL用法以及功能
Jul 11 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
基于JSONP原理解析(推荐)
Dec 04 Javascript
解决vue 路由变化页面数据不刷新的问题
Mar 13 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
Jun 11 Javascript
基于jQuery拖拽事件的封装
Nov 29 jQuery
PHP自动加载autoload和命名空间的应用小结
Dec 01 #Javascript
利用jquery如何从json中读取数据追加到html中
Dec 01 #jQuery
javascript修改浏览器title方法 JS动态修改浏览器标题
Nov 30 #Javascript
vue组件发布到npm简单步骤
Nov 30 #Javascript
JS和JQuery实现雪花飘落效果
Nov 30 #jQuery
vue 添加vux的代码讲解
Nov 30 #Javascript
vue2.x+webpack快速搭建前端项目框架详解
Nov 30 #Javascript
You might like
header跳转和include包含问题详解
2012/09/08 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
JS原型与继承操作示例
2019/05/09 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
python学习入门细节知识点
2018/03/29 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
人力资源部培训专员岗位职责
2014/01/02 职场文书
九月份红领巾广播稿
2014/01/22 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
创新社会管理心得体会
2014/09/12 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
Python Pandas常用函数方法总结
2021/06/15 Python
Python合并pdf文件的工具
2021/07/01 Python
详解在OpenCV中如何使用图像像素
2022/03/03 Python