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


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 相关文章推荐
JavaScript获取GridView选择的行内容
Apr 14 Javascript
WEB高性能开发之疯狂的HTML压缩
Jun 19 Javascript
js 浏览本地文件夹系统示例代码
Oct 24 Javascript
jquery ajax 简单范例(界面+后台)
Nov 19 Javascript
jquery图片切换实例分析
Apr 15 Javascript
js实现不提交表单获取单选按钮值的方法
Aug 21 Javascript
深入理解关于javascript中apply()和call()方法的区别
Apr 12 Javascript
基于mpvue的小程序项目搭建的步骤
May 22 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
Dec 07 Javascript
js canvas实现5张图片合成一张图片
Jul 15 Javascript
js实现中文实时时钟
Jan 15 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使用base64加密解密图片示例分享
2014/01/20 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
PHP实现货币换算的方法
2014/11/29 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
2017/06/05 PHP
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
python的mysqldb安装步骤详解
2017/08/14 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
python 实现单例模式的5种方法
2020/09/23 Python
基于Python实现粒子滤波效果
2020/12/01 Python
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
教师专业自荐信
2014/05/31 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
2014年租房协议书范本
2014/10/30 职场文书
初三语文教学计划
2015/01/22 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
python库sklearn常用操作
2021/08/23 Python
angular4实现带搜索的下拉框
2022/03/25 Javascript