日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Vue自定義表單內(nèi)容檢查rules實(shí)例

瀏覽:125日期:2022-11-09 09:52:37

先看個(gè)例子

組件

<el-form-item label='手機(jī)號(hào):' 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(’負(fù)責(zé)人手機(jī)號(hào)不可為空’)); } else { if (value !== ’’) { var reg = /^1[3456789]d{9}$/; if (!reg.test(value)) { callback(new Error(’請(qǐng)輸入有效的手機(jī)號(hào)碼’)); } else { callback(); } } } }; return{ formPerson: { phone_number: ’’, }, rules: { phone_number: [ {validator: validateMobilePhone, trigger: ’blur’} ] }, } }}

遇到的坑

在組件中【開始寫的時(shí)候prop自定的名字】

<el-form-item label='手機(jī)號(hào):' prop='phone'> <el-input v-model='formPerson.phone_number'></el-input></el-form-item>

rules中

rules: { phone: [ {validator: validateMobilePhone, trigger: ’blur’} ]}

碰到的坑

當(dāng)輸入正確的手機(jī)號(hào)時(shí),顯示為錯(cuò)誤,發(fā)現(xiàn)value并沒有傳過來,為undefined

解決:

prop寫成和數(shù)據(jù)中的參數(shù)的名稱一樣,即phone_number

補(bǔ)充知識(shí):用vue自定義指令v-validated寫一個(gè)全局表單驗(yàn)證

由于不想在單vue文件里用blur等等設(shè)置表單驗(yàn)證并顯示驗(yàn)證失敗的信息,因此思考并封裝了一個(gè)全局自定義指令。

獻(xiàn)上我的代碼。

html

<div class='form-section'> <p>First Name</p> <input type='text' v-model=’form.username’ v-validated:username='[’username’,form.username]' placeholder='' > <div class='error'></div> </div> <div class='form-section'> <p>Last Name</p> <input type='text' v-model=’form.secondname’ placeholder=''> <div class='error'></div> </div> <div class='form-section'> <p>Email</p> <input type='email' v-model=’form.email’ v-validated:email='[’email’,form.email]' placeholder=''> <div class='error'></div> </div> <div class='form-section'> <p>Password</p> <input type='password' v-model=’form.password’ v-validated:password='[’password’,form.password]' autocomplete placeholder=''> <div class='error'></div> </div>

在input上掛載v-validated指令,向指令傳輸 ‘username’的校驗(yàn)類型,和form.username的校驗(yàn)數(shù)據(jù)。

現(xiàn)在封裝v-validated指令

validated.js

import Vue from ’vue’/** * 校驗(yàn)失敗*/function testError (el) { el.style.borderColor = ’#d20000’ el.style.backgroundColor = ’#fff8f8’}/** * 校驗(yàn)成功*/function testCorrect (el) { el.style.borderColor = ’#a3a3a3’ el.nextElementSibling.innerHTML = ’’ el.style.backgroundColor = ’transparent’}/** * 校驗(yàn)用戶名 * */function testUserName (username, el) { if (/^w{3,30}$/g.test(username)) { testCorrect(el) return true } else { testError(el) el.nextElementSibling.innerHTML = ’Username must be 3 to 30 characters’ return false }}/** * 校驗(yàn)郵箱 * */function testEmail (email, el) { if (/^[w-]+@[w-]+(.[w-]+)+$/g.test(email)) { testCorrect(el) return true } else { testError(el) el.nextElementSibling.innerHTML = ’Mailbox format is not correct!’ return false }}/** * 校驗(yàn)密碼 * */function testPwd (pwd, el) { if (/^w{6,30}$/g.test(pwd)) { testCorrect(el) return true } else { testError(el) el.nextElementSibling.innerHTML = ’Password must be 6 to 30 characters’ return false }}Vue.directive(’validated’, { inserted (el, binding) { // 綁定元素插入父節(jié)點(diǎn)時(shí)調(diào)用 el.addEventListener(’blur’, () => { switch (binding.value[0]) { case ’username’ : testUserName(binding.def[binding.rawName], el); break case ’email’ : testEmail(binding.def[binding.rawName], el); break case ’password’ : testPwd(binding.def[binding.rawName], el); break } }) }, update: function (el, binding, vNode) { // 更新元素信息時(shí)調(diào)用 binding.def[binding.rawName] = binding.value[1] }})export default { init () { console.log(’*** validated installed ***’) }}

由于沒有找到官方鉤子之間傳遞數(shù)據(jù)的方法,所以自己看著用binding.def下定義updated來作為傳遞數(shù)據(jù),

inserted是節(jié)點(diǎn)插入時(shí)就調(diào)用一次。在這里做元素blur的監(jiān)聽,動(dòng)態(tài)數(shù)據(jù)由update刷新。

修正:我只定義一個(gè)updated會(huì)出現(xiàn)多個(gè)更新數(shù)據(jù)共用一個(gè)參數(shù)名,導(dǎo)致數(shù)據(jù)錯(cuò)亂。

所以我用binding.rawName做指針,放入binding.def下,實(shí)現(xiàn)一個(gè)頁面多個(gè)數(shù)據(jù)多個(gè)處理,因?yàn)閡pdate鉤子是頁面上的任意改動(dòng)都會(huì)觸發(fā),而不是當(dāng)前掛載指令的dom對(duì)象變化才會(huì)跟著變化。

最后將這個(gè)文件放入main.js

main.js

import validated from ’@/dorajs/validated.js’

Vue.use(validated)

效果如下

Vue自定義表單內(nèi)容檢查rules實(shí)例

Vue自定義表單內(nèi)容檢查rules實(shí)例

Vue自定義表單內(nèi)容檢查rules實(shí)例

完美解決!

以上這篇Vue自定義表單內(nèi)容檢查rules實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲乱码视频| 精品欧美视频| 国产日韩欧美中文在线| 欧美精品一二| 国产成人久久精品一区二区三区| 久久久久久久久久久妇女| 国产精品亚洲产品| 欧美日韩视频网站| 91精品丝袜国产高跟在线| 在线亚洲成人| 久久九九国产| 久久精品av| 亚洲大片在线| 激情久久五月| 午夜一级久久| 亚洲免费一区二区| 蜜臀a∨国产成人精品| 久久av在线| 亚洲图片久久| 日本特黄久久久高潮| 91成人在线精品视频| 国产激情久久| 91精品尤物| 久久av影视| 精品资源在线| 91精品推荐| 亚洲午夜黄色| aa亚洲婷婷| 亚洲人成在线影院| 国产欧美日韩一区二区三区四区| 免费看的黄色欧美网站| 中文字幕一区二区三区在线视频| 青草综合视频| 高清日韩中文字幕| aⅴ色国产欧美| 国产精品欧美三级在线观看 | 久久国产成人午夜av影院宅| 国产一区亚洲| 亚洲精品美女91| 免费在线亚洲欧美| 国产99亚洲| 91成人在线网站| 久久国产日韩| 日韩黄色免费网站| 久久男人天堂| 日本午夜精品久久久久| 欧美精品高清| 欧美在线看片| 日韩一级不卡| 欧美精品国产一区| 尹人成人综合网| 91麻豆精品| 黄色亚洲大片免费在线观看| 国产乱码精品一区二区三区四区 | 国产白浆在线免费观看| 亚洲一区日本| 精品国产18久久久久久二百| 中文一区一区三区免费在线观| 久久这里只有| 卡一精品卡二卡三网站乱码| 中文字幕日本一区二区| 四虎精品永久免费| 涩涩涩久久久成人精品| 亚洲日本久久| 日韩不卡手机在线v区| 亚洲精品字幕| 国产图片一区| 欧美国产极品| 亚洲伊人av| 国产午夜精品一区二区三区欧美| 国产亚洲在线| 日本va欧美va瓶| 久久国产精品免费精品3p | 91一区二区三区四区| 国产成人黄色| 久久久久蜜桃| 免费黄网站欧美| 日韩一区二区三区高清在线观看| 国产日韩中文在线中文字幕| 国产精品2区| 蜜臀av免费一区二区三区| 欧美专区一区二区三区| 国产精品久久久久久妇女| 日韩在线免费| 亚洲精品麻豆| 色综合五月天| 免费不卡在线观看| 久久激情综合网| 91看片一区| 日本午夜精品一区二区三区电影| www.九色在线| 日本中文字幕视频一区| 久久影院资源站| 亚洲作爱视频| 欧美国产小视频| 亚洲一区成人| 国产中文欧美日韩在线| 日本 国产 欧美色综合| 97欧美在线视频| 亚洲精品在线二区| 欧美成a人免费观看久久| 美美哒免费高清在线观看视频一区二区| 久久成人亚洲| 91精品精品| 欧美国产专区| 亚洲图片久久| 中文精品视频| 成人在线免费观看网站| 亚洲欧美久久| 亚洲高清激情| 日韩激情一区| 国产精区一区二区| 日欧美一区二区| 91精品高清| 欧美日韩视频网站| 国产成人精品一区二区免费看京| 国产精品黄色片| 久久国产高清| 日韩视频在线一区二区三区 | 精品视频一区二区三区四区五区 | 99riav1国产精品视频| 四虎884aa成人精品最新| 国产成人免费| 色婷婷色综合| 精品久久久亚洲| 精品视频国产| 国产精品国产一区| 四虎国产精品免费观看| 国产精品原创| 中文在线免费视频| se01亚洲视频| 国产精品成久久久久| 狠狠久久伊人| 日韩成人a**站| 午夜精品久久久久久久久久蜜桃| 日本蜜桃在线观看视频| 日韩和的一区二在线| 秋霞影视一区二区三区| 欧美精品一区二区三区精品| 伊人成人在线视频| 亚洲免费中文| 欧美久久香蕉| 国产中文字幕一区二区三区| 日本蜜桃在线观看视频| 欧美精品黄色| 亚洲欧洲美洲国产香蕉| 日韩国产在线观看一区| 麻豆91精品视频| 久久网站免费观看| 在线精品一区| 久久99国产精品视频| 欧美a级片一区| 日韩不卡一区二区三区| 精品日韩一区| 亚洲精品中文字幕乱码| 日韩精品高清不卡| 日韩欧美看国产| 日本久久一区| 免费精品国产| 国产福利资源一区| 国产亚洲激情| 国产亚洲一区二区三区啪| а√在线中文在线新版| 99riav1国产精品视频| 国产精品最新| 水野朝阳av一区二区三区| 丁香婷婷久久| 亚洲精品在线观看91| 国产色99精品9i| 日韩午夜在线| 日韩国产欧美| 日韩高清电影一区| 人人精品亚洲| 精品午夜av| 久久国产乱子精品免费女| 免费av一区| 韩日一区二区| 国产视频网站一区二区三区| 午夜在线一区二区| 亚洲网站视频| 福利在线免费视频| 国产剧情在线观看一区| 亚洲18在线| 亚洲性视频在线| 免费不卡中文字幕在线| 精品国产精品国产偷麻豆| 欧美片第1页综合| 日本不卡一二三区黄网| 亚洲有吗中文字幕| 香蕉久久夜色精品国产| 女同性一区二区三区人了人一 | 成人午夜网址| 精品国产一级| 精品免费av| 精品欠久久久中文字幕加勒比| 国产欧美日韩免费观看| 日韩va亚洲va欧美va久久| 日韩黄色在线观看| 日本成人中文字幕在线视频| 日韩欧美久久|