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


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获取父窗口的元素
Jun 26 Javascript
jquery获取html元素的绝对位置和相对位置的方法
Jun 20 Javascript
php常见的页面跳转方法汇总
Apr 15 Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
Jan 22 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
May 25 Javascript
JS中正则表达式全局匹配模式 /g用法详解
Apr 01 Javascript
Vue在页面数据渲染完成之后的调用方法
Sep 11 Javascript
TypeScript基础入门教程之三重斜线指令详解
Oct 22 Javascript
微信小程序商品详情页底部弹出框
Nov 22 Javascript
利用JS如何获取form表单数据
Dec 19 Javascript
动态规划之使用备忘录来改进Javascript函数
Apr 07 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&amp;&amp;mysql)四
2006/10/09 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP 表单提交给自己
2008/07/24 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python魔术方法详解
2015/02/14 Python
python通过yield实现数组全排列的方法
2015/03/18 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
Python yield的用法实例分析
2020/03/06 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
妈妈别哭观后感
2015/06/08 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
Mysql中常用的join连接方式
2022/05/11 MySQL