【微信小程序】表单校验

这篇具有很好参考价值的文章主要介绍了【微信小程序】表单校验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序开发过程中,很多地方要做表单校验,而小程序并不能像vue那样有专门的校验函数,只能自己手写做出类似的效果。

以修改密码为例,需要校验以下三个输入框:
微信小程序表单验证,微信小程序,微信小程序
原理:
利用输入框的bindblur方法,根据校验的条件判断来控制错误信息的显示隐藏
实现代码:文章来源地址https://www.toymoban.com/news/detail-548123.html

<view>
  <span class="label">旧密码</span>
  <input type='input' placeholder="请输入旧密码" data-inputid="oldPwd" model:value="{{oldPassword}}" bindblur="onBlur" />
  <view class="{{submitMsg.oldPwd ==='' ? 'vhidden' : 'vshow'}} the-msg">{{submitMsg.oldPwd}}</view>
</view>
<view>
  <span class="label">新密码</span>
  <input type='input' placeholder="请输入新密码" data-inputid="newPwd" model:value="{{newPassword}}" bindblur="onBlur" />
  <view class="{{submitMsg.newPwd ==='' ? 'vhidden' : 'vshow'}} the-msg">{{submitMsg.newPwd}}</view>
</view>
<view>
  <span class="label">确认密码</span>
  <input type='input' placeholder="请再次输入新密码" data-inputid="quePwd" model:value="{{quePassword}}" bindblur="onBlur" />
  <view class="{{submitMsg.quePwd ==='' ? 'vhidden' : 'vshow'}} the-msg">{{submitMsg.quePwd}}</view>
</view>
let pwdReg = /^[0-9a-z_.@]{6,16}$/
data: {
  oldPassword: '',
  newPassword: '',
  quePassword: '',
  submitMsg: {
     oldPwd: '',
     newPwd: '',
     quePwd: ''
   }
},
onBlur(e) {
  switch (e.currentTarget.dataset.inputid) {
    case 'oldPwd':
      if (this.data.oldPassword === '') {
        this.setData({
          ["submitMsg.oldPwd"]: '旧密码不可为空'
        })
      } else if (!pwdReg.test(this.data.oldPassword)) {
        this.setData({
          ["submitMsg.oldPwd"]: '旧密码格式不正确'
        })
      } else { 
        this.setData({
          ["submitMsg.oldPwd"]: ''
        })
      }
      break;
    case 'newPwd':
      if (this.data.newPassword === '') {
        this.setData({
          ["submitMsg.newPwd"]: '新密码不可为空'
        })
      } else if (!pwdReg.test(this.data.newPassword)) {
        this.setData({
          ["submitMsg.newPwd"]: '新密码格式不正确'
        })
      } else if (this.data.quePassword && (this.data.newPassword !== this.data.quePassword)) {
        this.setData({
          ["submitMsg.newPwd"]: '两次输入的密码不一致,请重试'
        })
      } else {
        this.setData({
          ["submitMsg.newPwd"]: ''
        })
      }
      break;
    case 'quePwd':
      if (this.data.quePassword === '') {
        this.setData({
          ["submitMsg.quePwd"]: '确认密码不可为空'
        })
      } else if (!pwdReg.test(this.data.quePassword)) {
        this.setData({
          ["submitMsg.quePwd"]: '确认密码格式不正确'
        })
      } else if (this.data.newPassword !== this.data.quePassword) {
        this.setData({
          ["submitMsg.quePwd"]: '两次输入的密码不一致,请重试'
        })
      } else {
        this.setData({
          ["submitMsg.quePwd"]: ''
        })
      }
      break;
    default:
      break;
  }
},
.vshow {
  display: block !important;
}
.vhidden {
  display: none !important;
}

到了这里,关于【微信小程序】表单校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp APP、H5和微信小程序 使用百度地图,H5动态加载百度地图sdk,cover-image图片不显示,标准基座模拟器地图不显示,表单校验字段[‘**‘]在数据库中不存在

    APP里面的几个注意项 在百度地图开放平台申请密匙,在manifest.json App模块配置的地图模块选择百度地图并填入申请到的appkey。 页面使用uniapp的map标签,要在地图上面覆盖图片、内容等,使用cover-image、cover-view,因为map是原生组件,覆盖的内容有时不显示,使用v-if控制(这里

    2024年02月11日
    浏览(41)
  • Ant vue中表单验证(动态校验、部分校验)

    前提 :写了超级复杂的表单,其中涉及了很多表单验证的地方,现一一记录一下; ant-vue 版本1.7.8 vue 版本2.6.11 校验的原理大体相似,灵活应用!! 需求: 1根据 读写方式 去动态自动校验规则; 2.只是监听挂载路径,但因嵌套太多,表单监听的表单域不满足自动监听的条件

    2024年02月05日
    浏览(26)
  • 解决ElementUI动态表单校验验证不通过

    这里记录一下,写项目时遇到的一个问题:就是动态渲染的表单项,加验证规则后一直不通过!!! html部分:  js部分: 结果:   可以看到,按照官网的写法动态渲染的表单项是无法进行校验验证的。这里就是无论选中没选中值都校验 不通过。 修改prop、rules 结果:

    2024年02月12日
    浏览(26)
  • element ui 自定义校验不进入表单validate验证

    解决表单提交验证时自定义的校验规则错误问题 错误代码: 这段代码中只有value为空、不是整数才执行,当为整数的时候没有返回对于的执行函数callback(); 所以为整数时返回执行函数callback() 正确代码: 结束语: 希望这篇文章能帮助到大家,如有不对之处,还请指正。愿我

    2024年02月11日
    浏览(39)
  • vue中elment-ui添加表单验证规则,以及动态增加的表单校验

    一、表单格式固定的添加表单验证 二、动态增加表单,添加表单验证

    2024年02月03日
    浏览(40)
  • vue表单验证rules无效,rules动态选择,rules动态校验,rules对象嵌套校验

    一、问题描述 这里由一个动态切换规则校验引发的一些问题,整理了下,如下文所示。 这里有个需求就是,动态切换radio,对input输入框校验,界面如下 在网上找了一圈,用了第一种方法来解决,动态添加验证规则,方法如下 通过if判断platformType是否等于2,然后添加规则,

    2023年04月19日
    浏览(33)
  • element UI —— form表单中Radio单选框进行切换 & 表单验证rule动态校验-validator & 保存前进行form表单校验后才能上传-validate

    element UI —— form表单中Radio单选框进行切换 表单验证rule动态校验-validator 保存前进行form表单校验后才能上传-validate 1、效果图 2、代码 结构 数据

    2024年02月07日
    浏览(40)
  • 微信小程序常用表单组件

       button 为按钮组件,是常用的表单组件之一,用于事件的触发以及表单的提交。其属性表如下所示。 代码示例:    checkbox 为复选框组件,常用于在表单中进行多项数据的选择。复选框的 checkbox-group 为父控件,其内部嵌套若干个 checkbox 子控件。    checkbox-group 属性如

    2024年02月09日
    浏览(33)
  • 微信小程序(十)表单组件(入门)

    注释很详细,直接上代码 上一篇 新增内容: 1. type 属性指定表单类型 2. placeholder 属性指定输入框为空时的占位文字 源码: form.wxml form.wxss 效果演示: 1.不同的 type 属性所决定的输入法键盘 密码类型 因为会屏蔽投屏软件所以 屏幕会黑 ,在实际手机里面显示的是常见的 密码

    2024年01月25日
    浏览(36)
  • 微信小程序(十一)表单组件(进阶)

    注释很详细,直接上代码 上一篇 新增内容:(涉及内容较多,建议细看源码) 1. radio-group 的使用与数据处理 2. checkbox-group 的使用与数据处理 3. picker 的使用与数据同步处理(此处示范了地域与日期) 源码: form.wxml form.js form.wxss util.js 效果演示: 下一篇

    2024年01月24日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包