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


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 相关文章推荐
js实现拖拽 闭包函数详细介绍
Nov 25 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
Jan 13 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
javascript匀速动画和缓冲动画详解
Oct 20 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
微信小程序的生命周期的详解
Oct 19 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
javascript和php使用ajax通信传递JSON的实例
Aug 21 Javascript
vue项目实现减少app.js和vender.js的体积操作
Nov 12 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
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
php封装的smarty类完整实例
2016/10/19 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
JScript中的&quot;this&quot;关键字使用方式补充材料
2007/03/08 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
JSON取值前判断
2014/12/23 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
Python导入oracle数据的方法
2015/07/10 Python
对Python 内建函数和保留字详解
2018/10/15 Python
python绘制中国大陆人口热力图
2018/11/07 Python
python3正则模块re的使用方法详解
2020/02/11 Python
python实现快递价格查询系统
2020/03/03 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
StringBuilder和String的区别
2015/05/18 面试题
中软国际Java程序员笔试题
2014/07/19 面试题
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
预备党员党校学习自我评价分享
2013/11/12 职场文书
一封普通求职者的求职信
2013/11/20 职场文书
送货司机岗位职责
2013/12/11 职场文书
上课迟到检讨书
2014/02/19 职场文书
市场营销工作计划书
2014/09/15 职场文书
销售人才自我评价范文
2014/09/27 职场文书
安徽导游词
2015/02/12 职场文书
计划生育个人总结
2015/03/02 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书