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


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设计模式之单例模式实例
Sep 24 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
Feb 27 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
Jun 05 Javascript
网页中JS函数自动执行常用三种方法
Mar 30 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
js鼠标移动时禁止选中文字
Feb 19 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
Apr 13 jQuery
Javascript操作dom对象之select全面解析
Apr 24 Javascript
详解webpack自动生成html页面
Jun 29 Javascript
Vue兼容ie9的问题全面解决方案
Jun 19 Javascript
JS pushlet XMLAdapter适配器用法案例解析
Oct 16 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/12/07 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
JS继承用法实例分析
2015/02/05 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
python正则分组的应用
2013/11/10 Python
python使用xmlrpc实例讲解
2013/12/17 Python
Python输出带颜色的字符串实例
2017/10/10 Python
Python输入二维数组方法
2018/04/13 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
高级护理实习生自荐信
2013/09/28 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
小学生倡议书范文
2014/05/13 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
老乡聚会通知
2015/04/23 职场文书
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
Elasticsearch 批量操作
2022/04/19 Python