小程序验证插件的使用 WxValidate

原创 自由小鸟  2021-07-12 14:37:09  阅读 263 次 评论 0 条

整个文件可以到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`
    })
  },
本文地址:https://webge.net/?id=127
版权声明:本文为原创文章,版权归 自由小鸟 所有,欢迎分享本文,转载请保留出处!

评论已关闭!