当前位置:首页 > 小程序 > 正文内容

小程序验证插件的使用 WxValidate

自由小鸟3年前 (2021-07-12)小程序1968

整个文件可以到git下载

import WxValidate from ‘../../utils/WxValidate’;
地址自己根据目录正确引入

我的需求是所有数据都是动态后台返回的
以下是使用

onload:function(){
    this.initValidate()//验证规则函数
}

 //验证函数
initValidate() {
  const rules = {}
  const messages = {}

  this.data.froms.forEach((item)=>{
    rules[item.name]={
      required:item.isRequired,
      [item.name]:item.isRequired,
    }
    if(item.name==='手机号'){
      messages[item.name]={
        required: '请填写'+item.name,
        [item.name]: '请输入正确的手机号码',
      }
    }else{
      messages[item.name]={
        required: '请填写'+item.name
      }
    }

  })
  console.log(rules)
  console.log(messages)

    this.WxValidate = new WxValidate(rules, messages)
    //这里是自定义验证的格式
    this.WxValidate.addMethod('手机号', (value, param) => {
      console.log(/^1[3456789]\d{9}$/.test(value))
      return /^1[3456789]\d{9}$/.test(value)
    }, '请输入正确的手机号码')

    //邮箱不是必填写的,但是如果填写需要验证格式
    this.WxValidate.addMethod('邮箱', (value, param) => {
      if(value){
        return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value)
      }else{
        return true
      }
    }, '请输入正确的邮箱')

},
  //报错 
showModal(error) {
  wx.showModal({
    content: error.msg,
    showCancel: false,
    confirmColor:'#2C2B31',
  })
},
  //提交表单
  formSubmit(e) {
    /**
     * 4-3(表单提交校验)
     */
    console.log(e.detail.value)
    const params = e.detail.value
    if (!this.WxValidate.checkForm(params)) {
      const error = this.WxValidate.errorList[0]
      this.showModal(error)
      return false
    }
    /**
     * 这里添写验证成功以后的逻辑
     *
     */
    //验证通过以后->
    this.submitInfo(params);
  },

  /**
   * 表单-提交
   */
  submitInfo(params) {
    // form提交
    let form = params;
    console.log('将要提交的表单信息:', form);

    wx.showToast({
      title: '提交成功!!!!',
    })
    //报名成功页
    wx.navigateTo({
      url: `/pages/signUp/success/success`
    })
  },

版权声明:本文由Web学习之路发布,如需转载请注明出处。

本文链接:https://webge.net/?id=127

“小程序验证插件的使用 WxValidate” 的相关文章

小程序自定义下拉刷新

<scroll-view style='height:100%' scroll-y='{{!isindrag}}' bindscroll='scorll'> <view class='column' bindtouc...

小程序列表展开收起功能

小程序列表展开收起功能

index.wxml <block wx:for-items="{{list}}" wx:key="{{item.id}}"> <view class="kind-list-item"> <...

小程序页面开启下拉刷新不回弹问题

onPullDownRefresh: function () { // 停止下拉动作 wx.stopPullDownRefresh(); //添加这句就可以了 if(this.data.searchContent){ this.setSearchListDataFn(th...

小程序分享功能

小程序分享功能

小程序分享功能 /** * 用户点击右上角分享 */ onShareAppMessage: function () { return { title: this.data.goodsInfo.goods_name, path: `/...

主动打开手机定位功能

export function getLocationListener(){ return new Promise((resolve, reject) => { var that = this wx.openSetting({ success(res){...