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

小程序验证插件的使用 WxValidate

自由小鸟4年前 (2021-07-12)小程序2202

整个文件可以到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” 的相关文章

小程序-- wx.switchTab({url}) 跳转页面

wx.switchTab({url}) 传页面page地址 注意,页面会刷新,那下面导航如何选中呢? 1,在app.js里定义全局变量 globalData: { selected: 0, }, 2,每个页面引入全局变量 getApp().globalData.se...

小程序如果以打包浏览的时候太大怎么处理---分包

小程序如果以打包浏览的时候太大怎么处理---分包

小程序如果以打包浏览的时候太大怎么处理—分包 类似这样的目录来分包处理 app.json需要做分包路径处理 当如果用跳转路径分包路径的时候例如...

小程序 a到b到c ,从c直接回到a

1A页面跳转到B wx.navigateTo({ url: `/pages/signUp/A` }) 2,B页面到C wx.navigateTo({ url: `/pages/signUp/C` }) 从c加到A页面 在c页面写 onUnload: fun...

小程序接地图

小程序接地图

longitude latitude是中心经纬度markers 是所有打点的经纬度,微信地图也是包了高德地图 <map wx:if="{{mapShow}}" class="map" id="map" scale="...

主动打开手机定位功能

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