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


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中dom操作和事件的实例学习 下拉框应用
Dec 01 Javascript
jQuery图片播放8款精美插件分享
Feb 17 Javascript
随窗体滑动的小插件sticky源码
Jun 21 Javascript
jquery浏览器滚动加载技术实现方案
Jun 03 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
Mar 28 Javascript
JavaScript 继承详解(六)
Oct 11 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
微信小程序 两种为对象属性赋值的方式详解
Feb 23 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
实现单层json按照key字母顺序排序的示例
Dec 06 Javascript
微信小程序实现手势图案锁屏功能
Jan 30 Javascript
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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
请php正则走开
2008/03/15 PHP
PHPMailer 中文使用说明小结
2010/01/22 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
一个javascript参数的小问题
2008/03/02 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
Vue实现验证码功能
2019/12/03 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
keras中的卷积层&amp;池化层的用法
2020/05/22 Python
python如何调用百度识图api
2020/09/29 Python
HTTP状态码详解
2021/03/18 杂记
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
医护人员英文求职信范文
2013/11/26 职场文书
材料采购员岗位职责
2013/12/17 职场文书
项目考察欢迎辞
2014/01/17 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
航空学院求职信
2014/06/11 职场文书
学校党员对照检查材料
2014/08/28 职场文书
旅行社计调工作总结
2015/08/12 职场文书