小程序表單認(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)文章
微信小程序 點擊切換樣式scroll-view實現(xiàn)代碼實例
這篇文章主要介紹了微信小程序 點擊切換樣式scroll-view實現(xiàn)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
微信小程序scroll-view實現(xiàn)滾動穿透和阻止?jié)L動的方法
這篇文章主要介紹了微信小程序scroll-view實現(xiàn)滾動穿透和阻止?jié)L動的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
js實現(xiàn)導(dǎo)入導(dǎo)出功能實例代碼(FileSave.js)
這篇文章主要給大家介紹了關(guān)于js實現(xiàn)導(dǎo)入導(dǎo)出功能(FileSave.js)的相關(guān)資料,FileSaver.js是在客戶端保存文件的解決方案,非常適合在客戶端上生成文件的Web應(yīng)用,需要的朋友可以參考下2023-11-11
JavaScript中英文字符長度統(tǒng)計方法示例【按照中文占2個字符】
這篇文章主要介紹了JavaScript中英文字符長度統(tǒng)計方法,涉及javascript針對中英文字符的匹配與運算相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
學(xué)習(xí)JavaScript設(shè)計模式(鏈?zhǔn)秸{(diào)用)
這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript設(shè)計模式,其中重點介紹鏈?zhǔn)秸{(diào)用,感興趣的小伙伴們可以參考一下2015-11-11
JS實現(xiàn)Date日期格式的本地化的方法小結(jié)
為了更好的更新多語言日期的顯示,所以希望實現(xiàn)日期的本地化格式顯示要求,常規(guī)的特殊字符型格式化無法滿足顯示要求,這里整理了幾種我思考實現(xiàn)的本地化實現(xiàn)功能2024-06-06

