uview插件手机号/邮箱校验

本文介绍了如何在微信小程序中使用U-form组件进行表单绑定,包括model参数的处理、prop与rules的关联以及自定义校验方法的创建,重点强调了prop作为字符串的重要性。
摘要由CSDN通过智能技术生成

Form组件绑定model参数:

  • model参数为一个对象,对象属性为需要验证的变量名。
  • 通过ref,在onReady生命周期调用组件的setRules方法绑定验证规则,无法通过props传递变量,是因为微信小程序会过滤掉对象中的方法,导致自定义验证规则无效。
<u-form :model="form" ref="uForm">

        <u-form-item prop="phone" required="true" label="电话:">
              <u-input v-model="form.phone" />
        </u-form-item>

        <u-form-item labelWidth="80px" prop="supplyer_email" required="true" label="电子邮件:">
              <u-input v-model="form.supplyer_email" />
        </u-form-item>

</u-form>
U-form-item绑定labelprop

此组件最大的作用是与u-formu-input等组件进行交互,在表单验证时,需要绑定prop参数,此参数为u-form组件的model对象中的属性名, 目的是在验证时,通过这个prop属性名将父组件u-formmodelrules规则关联起来。

注意点:

  • 通过prop绑定对应的属性名,这里是字符串,而不是一个变量。
  • 通过lable参数设置左边显示的提示文字,另外通过label-position可以配置label在左边还是上方。

在onReady中绑定验证规则:

this.$refs.uForm.setRules(this.rules);

在data函数中创建校验规则:        

rules:{

                phone: [
                     { required: true, message: '请输入电话', trigger: 'blur' },
                     { validator: this.checkPhoneNum, trigger: 'blur' },
               ],

                supplyer_email: [
                     { required: true, message: '请输入电子邮件', trigger: 'blur' },
                     { validator: this.checkEmail, trigger: 'blur' },
               ],

}

创建checkPhoneNum/checkEmail校验方法:        

checkPhoneNum(rule, value, callback) {
    var reg = /^1[3456789]\d{9}$/;
    if (reg.test(value)) {
        callback();
    } else {
       callback(new Error('手机号码格式不正确'));
    }
},

checkEmail (rule, value, callback){//邮箱校验
    const mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
    if (mailReg.test(value)) {
        callback();
    } else {
       callback(new Error('请输入正确的邮箱格式'));
    }
},

uview官网:Form 表单 | uView - 多平台快速开发的UI框架 - uni-app UI框架

  • 34
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
u 是一个基于uni-app的UI框架提供了一套丰富的组件和工具库。对于手机号码和短信验证码的校验,你可以使用uView提供的表单验证工具来简化开发流程。 首先,确保已经安装了uView。在uni-app项目的根目录下执行以下命令进行安装: ``` npm install uview-ui ``` 然后,在需要使用手机号码和短信验证码校验的页面中引入uView的表单验证工具: ```vue <template> <view> <form @submit="submitForm"> <view class="u-input"> <u-input v-model="phoneNumber" :rules="[ { required: true, message: '请输入手机号码' }, { pattern: /^1[3456789]\d{9}$/, message: '手机号码格式不正确' } ]" placeholder="请输入手机号码" ></u-input> </view> <view class="u-input"> <u-input v-model="smsCode" :rules="[ { required: true, message: '请输入短信验证码' } ]" placeholder="请输入短信验证码" ></u-input> </view> <button type="primary" form-type="submit">提交</button> </form> </view> </template> <script> import { $u } from '@/static/uview-ui' export default { data() { return { phoneNumber: '', smsCode: '' } }, methods: { submitForm() { if (!$u.validPhone(this.phoneNumber)) { $u.toast('手机号码格式不正确') return } // 执行短信验证码校验逻辑 } } } </script> ``` 在上述代码中,我们使用了`u-input`组件来获取用户输入的手机号码和短信验证码,并通过`rules`属性设置了校验规则。`$u.validPhone`方法用于校验手机号码的格式是否正确。当用户点击提交按钮时,调用`submitForm`方法进行表单提交前的校验。 当然,这只是一个简单的示例,你可以根据实际需求进行更加复杂的校验逻辑,比如短信验证码的发送和校验等。 请注意,以上代码仅适用于使用uView框架进行开发的uni-app项目,如果你使用其他框架或原生小程序开发,需要根据具体情况选择相应的表单验证工具和方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值