網(wǎng)站首頁 編程語言 正文
下面給大家介紹下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
相關(guān)推薦
- 2022-09-21 Golang運(yùn)行報(bào)錯(cuò)找不到包:package?xxx?is?not?in?GOROOT的解決過程_G
- 2023-03-11 Go語言中init函數(shù)與匿名函數(shù)使用淺析_Golang
- 2023-03-26 數(shù)據(jù)結(jié)構(gòu)TypeScript之鄰接表實(shí)現(xiàn)示例詳解_其它
- 2022-09-08 python輾轉(zhuǎn)相除法求最大公約數(shù)和最小公倍數(shù)的實(shí)現(xiàn)_python
- 2022-05-15 go?RWMutex的實(shí)現(xiàn)示例_Golang
- 2023-11-19 urllib2.HTTPError: HTTP Error 403: Forbidden; in h
- 2023-05-31 Pandas提取含有指定字符串的行(完全匹配,部分匹配)_python
- 2022-08-18 C++詳解實(shí)現(xiàn)Stack方法_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支