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


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实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
JS截取字符串常用方法整理及使用示例
Oct 18 Javascript
jQuery中die()方法用法实例
Jan 19 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 Javascript
详解JavaScript正则表达式中的global属性的使用
Jun 16 Javascript
php基于redis处理session的方法
Mar 14 Javascript
原生JS下拉加载插件分享
Dec 26 Javascript
JS利用cookies设置每隔24小时弹出框
Apr 20 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
Angular17之Angular自定义指令详解
Jan 21 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
Dec 25 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
Jun 05 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 的 __FILE__ 常量
2007/01/15 PHP
基于php-fpm的配置详解
2013/06/03 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
用实例解释Python中的继承和多态的概念
2015/04/27 Python
python中list列表的高级函数
2016/05/17 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
200行python代码实现2048游戏
2019/07/17 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
领导干部培训感言
2014/01/23 职场文书
幼儿园保教管理制度
2014/02/03 职场文书
文秘大学生求职信
2014/02/25 职场文书
学习作风建设心得体会
2014/10/22 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL