小程序表單認(rèn)證布局及驗證詳解
本文實例為大家分享了小程序表單認(rèn)證布局及驗證的具體代碼,供大家參考,具體內(nèi)容如下

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>點擊上傳營業(yè)執(zhí)照</text>
</view>
</view>
</view>
<button class='changeBtn' bindtap='save'>提交認(rèn)證資料</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({
/**
* 頁面的初始數(shù)據(jù)
*/
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: '重新發(fā)送',
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: '營業(yè)執(zhí)照不能為空',
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,
})
}
})
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面加載
*/
onLoad: function (options) {
},
})
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
前端JavaScript中l(wèi)ocation.reload刷新頁面用法詳解
這篇文章主要介紹了前端JavaScript中l(wèi)ocation.reload刷新頁面用法的相關(guān)資料,location.reload()是JavaScript中用于重新加載當(dāng)前頁面的方法,它可以接受一個布爾參數(shù),以決定是否忽略緩存,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02
JS switch判斷 三目運算 while 及 屬性操作代碼
這篇文章主要介紹了JS switch判斷 三目運算 while 及 屬性操作代碼,需要的朋友可以參考下2017-09-09
基于postman獲取動態(tài)數(shù)據(jù)過程詳解
這篇文章主要介紹了基于postman獲取動態(tài)數(shù)據(jù)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
js 靜態(tài)動態(tài)成員 and 信息的封裝和隱藏
一下用面向?qū)ο蟮南嚓P(guān)概念來解釋js中的仿面向?qū)ο?,因為js中不像其他語言,不存在面向?qū)ο笳Z言的相關(guān)特性2011-05-05
JavaScript 中的輸出數(shù)據(jù)多種方式
在 JavaScript 中,不像 Java 等語言,它沒有任何打印或者輸出方法的,在js中通過使用4種方式來輸出數(shù)據(jù),本文通過實例代碼給大家詳細(xì)介紹,感興趣的朋友跟隨小編一起看看吧2022-03-03
JavaScript String 對象常用方法總結(jié)
下面小編就為大家?guī)硪黄狫avaScript String 對象常用方法總結(jié)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-04-04

