vant动态函数校验

业务场景:

因为公司做的事海外业务,所以验证手机号码,要根据区号来验证,所以用到vantUI的validator来验证


使用:

      <div class="flex">
        <label>公司電話</label>
        <div>
          <div class="select-flex">
            <el-select
              @change="getHouseNumber"
              placeholder="請選擇"
              class="select-phone"
              v-model="datas.office_Coun_code"
            >
              <el-option
                v-for="item in areaCode"
                :key="item.areaCode"
                :value="item.areaCode"
                type="number"
                :label="item.areaCode"
              >
              </el-option>
            </el-select>
            <van-field
              type="number"
              :rules="[
                {
                  
                  validator: validateHouseNumber,
                  message: houseNumberMessage,
                },
              ]"
              v-model="datas.office_tel"
              class="field-phoneNumber"
            />
          </div>
        </div>
      </div>

 methods中的方法

 

    validateHouseNumber(value, rule) {
      if (value) {
        // return true;
        if (this.datas.selectHouseNumber === "+852") {
          return /^\d{8}$/.test(value);
        } else if (this.datas.selectHouseNumber === "+853") {
          return /^\d{8}$/.test(value);
        } else if (this.datas.selectHouseNumber === "+86") {
          return /^\d{11}$/.test(value);
        }
      }
      return true;
    },

补充:动态文本我是写在@chang()方法里面

     /**
     * 家庭电话正则
     */
    getHouseNumber() {
      if (this.datas.office_Coun_code === "+852") {
        this.houseNumberPattern = /^\d{8}$/;
        this.houseNumberMessage = "Please enter 8 valid home phone numbers";
      } else if (this.datas.office_Coun_code === "+853") {
        this.houseNumberPattern = /^\d{8}$/;
        this.houseNumberMessage = "Please enter 8 valid home phone numbers";
      } else if (this.datas.office_Coun_code === "+86") {
        this.houseNumberPattern = /^\d{11}$/;
        this.houseNumberMessage = "Please enter 11 valid home phone numbers";
      }
    },

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Iam_楠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值