input框label根据下拉框选择内容进行显示,并且校验input框内容

<el-form-item label="联系方式:" prop="type">

          <el-select

            v-model="ruleForm.type"

            style="width: 80%"

            placeholder="请选择"

            ref="type"

            clearable

            @change="changeFn"

          >

            <el-option label="固定电话" value="1"></el-option>

            <el-option label="手机号码" value="2"></el-option>

          </el-select>

        </el-form-item>

        <el-form-item :label="ruleForm.type == '1' ? '电话号码:' : '手机号码:' " prop="phone">

          <el-input

            v-model.trim="ruleForm.phone"

            placeholder="请输入"

            clearable

          ></el-input>

        </el-form-item>

data() {

    var checkMobile = (rule, value, callback) => {

      if(value === '') {

        callback(new Error("请输入合法的电话号"))

      } else {

        const phoneType = this.ruleForm.type;

        let regMobile = null;

        // 验证电话的正则表达式

        let regTelephone = /^0\d{2,3}-\d{7,8}|\(?0\d{2,3}[)-]?\d{7,8}|\(?0\d{2,3}[)-]*\d{7,8}$/;

        // 验证手机号的正则表达式

        let regPhone = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;

        if (phoneType == '1') {

          regMobile = regTelephone

        } else {

          regMobile = regPhone

        }

        if(!regMobile.test(value)) {

          return callback (new Error("请输入合法的电话号码或者手机号码"))

        }

        callback();

      }

    };

 return { 

        rules: {

                phone: [

                  { required: true, message: "电话号码不能为空" },

                  {

                    validator: checkMobile,

                    trigger: "blur",

                  },

                ],

              },

    };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值