微信小程序 表单验证

Wxml

<form bindsubmit="formSubmit" bindreset="formReset">
  <input name="name" class="{{whoClass=='name'?'placeholderClass':'inputClass'}}" placeholder="请填写您的姓名" type="text" confirm-type="next" focus="{{whoFocus=='name'?true:false}}" bindblur="nameBlurFocus" />
  <radio-group name="gender" bindchange="radioChange">
    <radio value="0" checked />女士
    <radio value="1" />先生
  </radio-group>
  <input name="mobile" class="{{whoClass=='mobile'?'placeholderClass':'inputClass'}}" type="number" maxlength="11" placeholder="请填写您的手机号" bindblur="mobileBlurFocus" focus="{{whoFocus=='mobile'?true:false}}" />
  <input name="company" class="{{whoClass=='company'?'placeholderClass':'inputClass'}}" placeholder="公司名称" type="text" confirm-type="next" focus="{{whoFocus=='company'?true:false}}" />
  <input name="client" class="{{whoClass=='client'?'placeholderClass':'inputClass'}}" placeholder="绑定客户" type="text" confirm-type="done" focus="{{whoFocus=='client'?true:false}}" />
  <button formType="submit">提交</button>
</form>
<loading hidden="{{submitHidden}}">
  正在提交...
</loading>

app.js

import wxValidate from 'utils/wxValidate'
App({
    wxValidate: (rules, messages) => new wxValidate(rules, messages)
})

news.js

var appInstance = getApp()
//表单验证初始化
onLoad: function () {
        this.WxValidate = appInstance.WxValidate(
            {
                name: {
                    required: true,
                    minlength: 2,
                    maxlength: 10,
                },
                mobile: {
                    required: true,
                    tel: true,
                },
                company: {
                    required: true,
                    minlength: 2,
                    maxlength: 100,
                },
                client: {
                    required: true,
                    minlength: 2,
                    maxlength: 100,
                }
            }
            , {
                name: {
                    required: '请填写您的姓名姓名',
                },
                mobile: {
                    required: '请填写您的手机号',
                },
                company: {
                    required: '请输入公司名称',
                },
                client: {
                    required: '请输入绑定客户',
                }
            }
        )
    },
    //表单提交
     formSubmit: function (e) {
         //提交错误描述
        if (!this.WxValidate.checkForm(e)) {
            const error = this.WxValidate.errorList[0]
            // `${error.param} : ${error.msg} `
            wx.showToast({
                title: `${error.msg} `,
                image: '/pages/images/error.png',
                duration: 2000
            })
            return false
        }
        this.setData({ submitHidden: false })
        var that = this
        //提交
        wx.request({
            url: '',
            data: {
                Realname: e.detail.value.name,
                Gender: e.detail.value.gender,
                Mobile: e.detail.value.mobile,
                Company: e.detail.value.company,
                client: e.detail.value.client,
                Identity: appInstance.userState.identity
            },
            method: 'POST',
            success: function (requestRes) {
                that.setData({ submitHidden: true })
                appInstance.userState.status = 0
                wx.navigateBack({
                    delta: 1
                })
            },
            fail: function () {
            },
            complete: function () {
            }
        })
    }

WxValidate 链接: https://pan.baidu.com/s/1hsC9Xxq 密码: ttjg

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值