小程序表单认证布局及验证详解


Posted in Javascript onJune 19, 2020

本文实例为大家分享了小程序表单认证布局及验证的具体代码,供大家参考,具体内容如下

小程序表单认证布局及验证详解

tset.wxml

<view class='form'>
<view class='content'>
 <view class='left'>姓名:</view>
 <view class='right'>
  <view class='right-left'>
   <input placeholder='请输入真实姓名' bindinput='getNameValue' value='{{name}}' />
  </view>  
 </view>
</view>
<view class='content'>
 <view class='left'>手机号:</view>
 <view class='right'>
  <view class='right-left'>
  <input placeholder='请输入手机号' bindinput='getPhoneValue' value='{{phone}}' />
  </view> 
 </view>
</view>
<view class='content'>
 <view class='left'>验证码:</view>
 <view class='right'>
  <view class='right-left'>
 <input placeholder='请输入验证码' bindinput='getCodeValue' value='{[code]}' />
  </view>
  <view class='right-right'>
   <button class='btn'>验证码</button>
  </view>
 </view>
</view>
<!-- wx:if 和wx:else要紧紧在一起 -->
 <view wx:if='{{upimg}}' class='upimage'>
  <image class='upimg' src='{{upimg}}'></image>
 </view>
 <view wx:else>
  <view class="upimage" catchtap='uploadimgurl'>
   <view class='upimage-tips'>
    <image class="add" src="/static/images/index/upimg.png"> </image>
   </view>
   <view class='upimage-tips'>
    <text>点击上传营业执照</text>
   </view>
  </view>
 </view>
 <button class='changeBtn' bindtap='save'>提交认证资料</button>
</view>

test.wxss

page {
 width: 100%;
 height: 100%;
}
 
.content {
 width: 95%;
 height: 80rpx;
 margin: 0 auto;
 border-bottom: 1rpx solid gray;
 margin-top: 5%; 
}
 
.left {
 width: 20%;
 height: 80rpx;
 float: left;
 text-align: left;
 line-height: 80rpx;
 font-size: 30rpx;
}
 
.right {
 width: 80%;
 height: 80rpx;
  float: right;
 text-align: left;
 line-height: 80rpx;
}
 
.right-left input {
 float: left;
 text-align: left;
 height: 80rpx;
}
 
.right-right {
 width: 30%;
 float: right;
 height: 80rpx;
}
 
.btn {
 height: 80rpx;
 font-size: 28rpx;
border: 1rpx solid greenyellow;
 
}
.upimage {
 background-color: #f2f2f2;
 border: 1rpx solid #ccc;
 width: 80%;
 /* margin-top: 10%; */
 height: 300rpx;
 border-radius: 10rpx;
 margin: 50rpx auto;
}
 
.upimg {
 width: 100%;
 height: 300rpx;
}
 
.upimage-tips {
 height: 80rpx;
 line-height: 80px;
 text-align: center;
 margin: 50rpx auto;
}
.upimage-tips text {
 font-size: 30rpx;
 color: darkgray;
}
 
.add {
 width: 80rpx;
 height: 80rpx;
 align-items: center;
 /* position: fixed; */
 margin: 0 auto;
 line-height: 80px;
 text-align: center;
}
.changeBtn {
 width: 100%;
 align-items: center;
 background: #1eb31c;
 color: #fff;
 position: fixed;
 bottom: 0;
 line-height: 100rpx;
 left: 0;
}

验证必填信息不能为空

test.js

//logs.js
Page({
 
 /**
 * 页面的初始数据
 */
 data: {
  name: '',//姓名
  phone: '',//手机号
  code: '',//验证码
  iscode: null,//用于存放验证码接口里获取到的code
  upimg: "",
  codename: "获取验证码",
 },
 //获取input输入框的值
 getNameValue: function (e) {
  this.setData({
   name: e.detail.value
  })
 },
 getPhoneValue: function (e) {
  this.setData({
   phone: e.detail.value
  })
 },
 getCodeValue: function (e) {
  this.setData({
   code: e.detail.value
  })
 },
 getCode: function () {
  var a = this.data.phone;
  var _this = this;
  var myreg = /^(14[0-9]|13[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$$/;
  if (this.data.phone == "") {
   wx.showToast({
    title: '手机号不能为空',
    icon: 'none',
    duration: 1000
   })
   return false;
  } else if (!myreg.test(this.data.phone)) {
   wx.showToast({
    title: '请输入正确的手机号',
    icon: 'none',
    duration: 1000
   })
   return false;
  } else {
   wx.request({
    data: {},
    'url': 接口地址,
    success(res) {
     console.log(res.data.data)
     _this.setData({
      iscode: res.data.data
     })
     var num = 61;
     var timer = setInterval(function () {
      num--;
      if (num <= 0) {
       clearInterval(timer);
       _this.setData({
        codename: '重新发送',
        disabled: false
       })
 
      } else {
       _this.setData({
        codename: num + "s"
       })
      }
     }, 1000)
    }
   })
  }
 },
 //获取验证码
 getVerificationCode() {
  this.getCode();
  var _this = this
  _this.setData({
   disabled: true
  })
 },
 //提交表单信息
 save: function () {
  var myreg = /^(14[0-9]|13[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$$/;
  if (this.data.name == "") {
   wx.showToast({
    title: '姓名不能为空',
    icon: 'none',
    duration: 1000
   })
   return false;
  }
  if (this.data.phone == "") {
   wx.showToast({
    title: '手机号不能为空',
    icon: 'none',
    duration: 1000
   })
   return false;
  } else if (!myreg.test(this.data.phone)) {
   wx.showToast({
    title: '请输入正确的手机号',
    icon: 'none',
    duration: 1000
   })
   return false;
  }
  if (this.data.code == "") {
   wx.showToast({
    title: '验证码不能为空',
    icon: 'none',
    duration: 1000
   })
   return false;
  } else if (this.data.code != this.data.iscode) {
   wx.showToast({
    title: '验证码错误',
    icon: 'none',
    duration: 1000
   })
   return false;
  } else {
   wx.setStorageSync('name', this.data.name);
   wx.setStorageSync('phone', this.data.phone);
   wx.redirectTo({
    url: '../add/add',
   })
  }
  if (this.data.upimg == "") {
   wx.showToast({
    title: '营业执照不能为空',
    icon: 'none',
    duration: 1000
   })
   return false;
  }
 },
 //上传照片
 uploadimgurl: function () {
  var that = this;
  var upimg = that.data.upimg;
  //选择照片
  wx.chooseImage({
   success(res) {
    var tempFilePaths = res.tempFilePaths
    that.setData({
     upimg: tempFilePaths,
    })
   }
  })
 },
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 
 },
 
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
全面理解面向对象的 JavaScript(来自ibm)
Nov 10 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
Apr 12 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
Vue计算属性的学习笔记
Mar 22 Javascript
详解angularJs指令的3种绑定策略
Apr 13 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 Javascript
React+Webpack快速上手指南(小结)
Aug 15 Javascript
微信小程序新闻网站详情页实例代码
Jan 10 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
react antd实现动态增减表单
Jun 03 Javascript
小程序实现背景音乐播放和暂停
Jun 19 #Javascript
小程序选项卡以及swiper套用(跨页面)
Jun 19 #Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
Jun 19 #Javascript
小程序实现多个选项卡切换
Jun 19 #Javascript
微信小程序 button样式设置为图片的方法
Jun 19 #Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
Jun 19 #Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
Jun 19 #Javascript
You might like
PHP4中实现动态代理
2006/10/09 PHP
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
jquery操作select大全
2014/04/25 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
react-redux中connect()方法详细解析
2017/05/27 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
浅谈Python 对象内存占用
2016/07/15 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
python爬取个性签名的方法
2018/06/17 Python
python输入整条数据分割存入数组的方法
2018/11/13 Python
Python 私有化操作实例分析
2019/11/21 Python
python如何导入依赖包
2020/07/13 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
Python如何telnet到网络设备
2021/02/18 Python
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
初中学校军训方案
2014/05/09 职场文书
四风问题对照检查材料
2014/09/22 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
伏羲庙导游词
2015/02/09 职场文书
社区工作者个人总结
2015/02/28 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
Python装饰器的练习题
2021/11/23 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS