微信小程序实现表单验证提交功能
更新时间:2022年07月17日 17:08:27 作者:cdgogo
这篇文章主要为大家详细介绍了微信小程序实现表单验证提交功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了微信小程序实现表单验证提交的具体代码,供大家参考,具体内容如下
效果图:
说明:点击一键预约提交表单时我们需要验证一些必填项以及它们的格式。微信小程序表单验证跟vue的input双向绑定不同,微信小程序只能通过button按钮提交form表单,然后通过监听表单提交方法去获取提交的数据。
<!-- 表单 --> <view class="forms"> <view class="container"> <image class="bg" src="../../images/formBg.png" mode="aspectFill"></image> <view class="title"> <text class="text">我家装修需要花多少钱?</text> <text class="text">免费快速获取预算方案</text> </view> <form class="" catchsubmit="submitFn"> <view class="item"> <text class="text">*</text> <picker class="" mode="region" bindchange="bindRegionChange" value="{{region}}"> <input type="text" name="city" value="{{city}}" placeholder="请选择房屋所在城市" placeholder-class="input-placeholder" /> </picker> </view> <view class="item"> <text class="text"></text> <input type="text" name="area" value="{{area}}" class="weui-input" placeholder="请输入房屋面积" placeholder-class="input-placeholder" /> </view> <view class="item"> <text class="text"></text> <input type="text" name="name" value="{{name}}" class="weui-input" placeholder="请输入您的姓名" placeholder-class="input-placeholder" /> </view> <view class="item"> <text class="text">*</text> <input type="text" name="phone" value="{{phone}}" class="weui-input" placeholder="请输入联系电话" placeholder-class="input-placeholder" /> </view> <button class="btn" formType="submit"> <text>一键预约</text> <!-- <image class="img" src="../../images/headglobal.png" mode="aspectFill"></image> --> </button> <view class="desc">装企提供免费上门量房服务、出3套方案供您对比</view> </form> </view> </view>
.forms { padding: 0 30rpx; .container { position: relative; width: 100%; padding: 20rpx; } .bg { position: absolute; left: 0; right: 0; top: 0; bottom: 0; width: 100%; height: 100%; z-index: -1; } .title { text-align: center; margin-bottom: 40rpx; .text { display: block; font-size: 48rpx; color: #000; } } .item { height: 65rpx; background-color: #fff; border: solid 1rpx #dddddd; border-radius: 10rpx; padding: 0 10rpx; margin-bottom: 20rpx; display: flex; align-items: center; .text { color: #ff0000; display: inline-block; width: 30rpx; font-size: 24rpx; } .weui-input { font-size: 28rpx; } .input-placeholder { color: #999; } } .btn { width: 100%; height: 75rpx; background-color: #00a0e9; box-shadow: 3rpx 4prx 13rpx 0rpx rgba(93, 200, 249, 0.59); border-radius: 6rpx; text-align: center; line-height: 75rpx; margin: 30rpx 0; position: relative; text { color: #fff; } } .desc { text-align: center; color: #999; font-size: 26rpx; } .img { position: absolute; width: 31rpx; height: 47rpx; right: 80rpx; top: 40rpx; } }
data:{ city:'', area: "", name: "", phone: "", region: ["广东省", "广州市", "海珠区"], }, // 表单提交 submitFn: function (e) { console.log(e); let that = this; if (e.detail.value.city == "") { wx.showToast({ title: "请选择房屋所在城市", icon: "none", }); return false; } if (e.detail.value.phone == "") { wx.showToast({ title: "请输入联系电话", icon: "none", }); return false; } // 验证电话格式 if (!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(e.detail.value.phone)) { wx.showToast({ title: "手机号码有误", duration: 2000, icon: "none", }); return false; } }, // 选择城市 bindRegionChange: function (e) { console.log("picker发送选择改变,携带值为", e.detail.value); this.setData({ city: e.detail.value, }); },
官网:表单组件form
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
js控制台报错Uncaught TypeError: Cannot read p
本文主要介绍了js控制台报错Uncaught TypeError: Cannot read properties of undefined (reading ‘appendChild‘)的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07ES6新特性二:Iterator(遍历器)和for-of循环详解
这篇文章主要介绍了ES6新特性二:Iterator(遍历器)和for-of循环,结合实例形式分析了ES6中Iterator(遍历器)和for-of循环遍历操作的相关实现技巧与注意事项,需要的朋友可以参考下2017-04-04
最新评论