小程序表單認證布局及驗證詳解
本文實例為大家分享了小程序表單認證布局及驗證的具體代碼,供大家參考,具體內(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'>提交認證資料</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-08js實現(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-11JavaScript中英文字符長度統(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-11JS實現(xiàn)Date日期格式的本地化的方法小結(jié)
為了更好的更新多語言日期的顯示,所以希望實現(xiàn)日期的本地化格式顯示要求,常規(guī)的特殊字符型格式化無法滿足顯示要求,這里整理了幾種我思考實現(xiàn)的本地化實現(xiàn)功能2024-06-06