微信小程序表单校验WxValidate.js使用

时间:2024-02-29 22:02:19

  WxValidate插件是参考 jQuery Validate 封装的,为小程序表单提供了一套常用的验证规则,包括手机号码、电子邮件验证等等,同时提供了添加自定义校验方法,让表单验证变得更简单。

  首先插件的下载地址和官方文档:https://github.com/skyvow/wx-extend

  具体的WxValidate.js文件的位置在wx-extend/src/assets/plugins/wx-validate/WxValidate.js

1、引入方法:将插件文件拷贝到你所需要的文件目录下

2、采用局部引用的方式将插件引入到你所需要的页面的JS文件里,具体操作如下

import WxValidate from \'../../utils/WxValidate.js\'

3、在wxml文件中对表单组件的数据绑定,否则无论表单组件如何填写,都无法验证规则。表单组件的绑定方法如下

    <view class="issue_item">
      <input focus name="title" value="{{title}}" placeholder=\'请输入问题描述\' />
    </view>

  主要的方法就是在需要验证的input框内加入value值的绑定,其他的组件同理

4、验证规则的书写。

  在onLoad函数中加入验证规则函数,即验证规则和报错规则的代码

  onLoad: function () {
    // 初始化验证方法
    this.initValidate()
  },
  //报错 
  showModal(error) {
    wx.showModal({
      content: error.msg,
      showCancel: false,
    })
  },
  //验证函数
  initValidate() {
    const rules = {
      title: {
        required: true,
        maxlength: 128
      },
      dbType: {
        required: true
      },
      priority: {
        required: true
      },
      description: {
        required: true
      }
    }
    const messages = {
      title: {
        required: \'请输入问题描述\',
        minlength: \'最多只能输入128个字符\'
      },
      dbType: {
        required: \'请选择问题类型\'
      },
      priority: {
        required: \'请选择问题等级\'
      },
      description: {
        required: \'请输入问题详情\'
      }
    }
    this.WxValidate = new WxValidate(rules, messages)
  },

5、调用校验规则

  submitIssue (e){
    let issueInfo = e.detail.value
    //校验表单
    if (!this.WxValidate.checkForm(issueInfo)) {
      const error = this.WxValidate.errorList[0]
      this.showModal(error)
      return false
    }
    wx.showLoading({
      title: \'玩命加载中\',
      mask: true
    })