Uniapp 使用u-view 表单验证通用方法

Uniapp 使用u-view 表单验证通用方法

最近接手了uniapp的微信小程序端和H5端的页面开发,发现u-view中不同版本对不同的端表单验证的方式是不一样的。于是我总结了常用的form表单验证方法。

uview版本

https://xuqu.gitee.io/components/form.html

步骤

  1. 创建结构—其中 u-form 标签下的 :model 、ref很重要 需要校验的输入框需要在外面包裹一层u-form-item 并加上porp属性作为标识
 <u--form :model="emailForm" ref="eForm">
             <u-form-item style="witdh: 75%" prop="emailAddress">
               <u--input placeholder="请输入电子邮箱" prefixIcon="email" prefixIconStyle="font-size: 22px;color: #909399" v-model="emailForm.emailAddress"></u--input>
             </u-form-item>
             <view style="width: 22%">
               <u-button type="primary" text="发送邮箱" style="border-radius: 15rpx" @click="submit" onkeydown="keySubmit"></u-button>
             </view>
 </u--form>
  1. js部分–需要定义一个fom 在form下面写需要双向绑定的变量 rules 规则写法如下 此处以邮箱验证规则为例
emailForm: {
      emailAddress: ''
    },
//* 邮箱验证规则
    rules: {
      emailAddress: [
        { required: true, message: '请填写邮箱', trigger: 'blur' },
        {
          type: 'string',
          message: '邮箱格式不正确',
          trigger: 'blur',
          transform(value) {
            if (!/^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value)) {
              return true
            } else {
            }
          }
        },
        { type: 'string', message: '长度不能超过30位', trigger: 'blur', max: 30 }
      ]
    }       
  1. onReady事件中给表单设置规则
 onReady() {
 this.$refs.eForm.setRules(this.rules)
}

4.编写submit事件,用于校验并提交表单。此处链接中的写法有误,实际应该采用.then的方法调用,方法如下

 this.$refs.eForm
      .validate()
      .then(res => {	
        uni.$u.toast('邮箱发送成功')
  }).  .catch(errors => {
        uni.$u.toast('邮箱发送失败')
      })
  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值