日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

詳解vant2?自動(dòng)檢查表單驗(yàn)證?-validate_React

作者:朱龍旭看世界 ? 更新時(shí)間: 2022-11-26 編程語言

下面給大家介紹下vant2 自動(dòng)檢查表單驗(yàn)證 -validate

ref 給?

<van-form @submit="onSubmit" ref="form"> 標(biāo)簽 ;

// 檢驗(yàn)手機(jī)號(hào)是否合格
      await this.$refs.form.validate("mobile");

data里面定義的規(guī)則 rules對(duì)象 ;

rules: {
        mobile: [
          // 必填
          { required: true, message: "請(qǐng)?zhí)顚懹脩裘? },
          // 1  3-9  開頭  在家 9 個(gè)0-9數(shù)字
          { pattern: /^1[3-9]\d{9}$/, message: "手機(jī)號(hào)不正確" },
        ],
        code: [
          { required: true, message: "請(qǐng)?zhí)顚懨艽a" },
          { pattern: /\d{6}$/, message: "驗(yàn)證碼錯(cuò)誤" },
        ],
      },

使用規(guī)則:

<van-field
        v-model="user.mobile"
        name="mobile"
        icon-prefix="zlx"
        left-icon="shouji"
        maxlength="11"
        placeholder="請(qǐng)輸入手機(jī)號(hào)"
        :rules="rules.mobile"
      />

vant2表單組件Field在iOS上校驗(yàn)出錯(cuò)

問題描述

需要校驗(yàn)用戶的輸入,長度超出進(jìn)行錯(cuò)誤提示,所以使用了正則表達(dá)式進(jìn)行校驗(yàn),代碼如下。

<van-field v-model="location" name="location" label="地點(diǎn)" placeholder="請(qǐng)輸入出差地" :rules="[{ required: true, pattern: /^\S{1,7}$/g, message: '請(qǐng)輸入7個(gè)以內(nèi)字符' }]" />

在安卓手機(jī)上可以正常校驗(yàn),但iOS系統(tǒng)無論輸入幾個(gè)字符都會(huì)提示錯(cuò)誤,原因可能是iOS輸入法會(huì)輸入特殊字符

解決方法

監(jiān)聽輸入,去掉其中的特殊字符再進(jìn)行判斷(實(shí)時(shí)校驗(yàn))

watch: {
    location(val) {
      if (val.replace(/\s/g, '').length > 7) {
      	// 添加錯(cuò)誤處理
      	// ....
        Toast.fail('長度超出')
        this.locationError = true
      } else {
        this.locationError = false
      }
    }
}

定義組件rules的validator方法(點(diǎn)擊提交時(shí)觸發(fā)校驗(yàn))

<van-field v-model="location" name="location" label="地點(diǎn)" placeholder="請(qǐng)輸入出差地" :rules="[{ required: true, validator, message: '請(qǐng)輸入7個(gè)以內(nèi)字符' }]" />

validator(val) {
	return val.replace(/\s/g, '').length > 7 ? false : true
}

原文鏈接:https://www.cnblogs.com/zhulongxu/p/16801497.html

欄目分類
最近更新