Vue自定义表单内容检查rules

Vue自定义表单内容检查rules

先看个例子

  • 效果
    • 错误时的效果
    • 正确时的效果
  • 组件

     

    <el-form-item label="手机号:" prop="phone_number">
        <el-input v-model="formPerson.phone_number"></el-input>
    </el-form-item>
    
  • script中

     

    export default {
        data() {
            var validateMobilePhone = (rule, value, callback) => {
                if (value === '') {
                  callback(new Error('负责人手机号不可为空'));
                } else {
                  if (value !== '') {
                    var reg = /^1[3456789]\d{9}$/;
                    if (!reg.test(value)) {
                      callback(new Error('请输入有效的手机号码'));
                    } else {
                      callback();
                    }
                  }
                }
            };
    
            return{
                formPerson: {
                    phone_number: '',
                },
                rules: {
                    phone_number: [
                    {validator: validateMobilePhone, trigger: 'blur'}
                    ]
                },
            }
        }
    }
    

遇到的坑

  • 在组件中【开始写的时候prop自定的名字】

     

    <el-form-item label="手机号:" prop="phone">
        <el-input v-model="formPerson.phone_number"></el-input>
    </el-form-item>
    
  • rules中

     

    rules: {
        phone: [
        {validator: validateMobilePhone, trigger: 'blur'}
        ]
    }
    
  • 碰到的坑
    • 当输入正确的手机号时,显示为错误,发现value并没有传过来,为undefined
      • 解决:prop写成和数据中的参数的名称一样,即phone_number
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风御浪云帆之上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值