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

您的位置:首頁技術文章
文章詳情頁

Vue自定義表單內容檢查rules實例

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

先看個例子

組件

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

遇到的坑

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

<el-form-item label='手機號:' prop='phone'> <el-input v-model='formPerson.phone_number'></el-input></el-form-item>

rules中

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

碰到的坑

當輸入正確的手機號時,顯示為錯誤,發現value并沒有傳過來,為undefined

解決:

prop寫成和數據中的參數的名稱一樣,即phone_number

補充知識:用vue自定義指令v-validated寫一個全局表單驗證

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

獻上我的代碼。

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’的校驗類型,和form.username的校驗數據。

現在封裝v-validated指令

validated.js

import Vue from ’vue’/** * 校驗失敗*/function testError (el) { el.style.borderColor = ’#d20000’ el.style.backgroundColor = ’#fff8f8’}/** * 校驗成功*/function testCorrect (el) { el.style.borderColor = ’#a3a3a3’ el.nextElementSibling.innerHTML = ’’ el.style.backgroundColor = ’transparent’}/** * 校驗用戶名 * */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 }}/** * 校驗郵箱 * */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 }}/** * 校驗密碼 * */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) { // 綁定元素插入父節點時調用 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) { // 更新元素信息時調用 binding.def[binding.rawName] = binding.value[1] }})export default { init () { console.log(’*** validated installed ***’) }}

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

inserted是節點插入時就調用一次。在這里做元素blur的監聽,動態數據由update刷新。

修正:我只定義一個updated會出現多個更新數據共用一個參數名,導致數據錯亂。

所以我用binding.rawName做指針,放入binding.def下,實現一個頁面多個數據多個處理,因為update鉤子是頁面上的任意改動都會觸發,而不是當前掛載指令的dom對象變化才會跟著變化。

最后將這個文件放入main.js

main.js

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

Vue.use(validated)

效果如下

Vue自定義表單內容檢查rules實例

Vue自定義表單內容檢查rules實例

Vue自定義表單內容檢查rules實例

完美解決!

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

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩亚洲一区二区三区在线| av不卡免费看| 久久精品观看| 久久av超碰| 欧美日本不卡高清| 欧美日韩午夜| 国产午夜精品一区在线观看| 视频一区免费在线观看| 黄色亚洲在线| 久久免费精品| 国产欧美日韩一级| 国产欧美高清| 精品美女在线视频| av中文字幕在线观看第一页| 国内一区二区三区| 香蕉成人av| 免费成人在线视频观看| 蜜桃av一区二区三区电影| 丝瓜av网站精品一区二区| 亚洲欧美久久精品| 国产欧美成人| 欧美国产美女| 麻豆精品蜜桃| 婷婷综合六月| 亚洲婷婷丁香| 国产精品白丝久久av网站| 蜜桃视频免费观看一区| 欧美日韩99| 成人福利av| 另类国产ts人妖高潮视频| 日韩av影院| 精品国产亚洲一区二区在线观看| 黄色在线网站噜噜噜| 亚洲欧洲另类| 国产精品手机在线播放| 成人免费网站www网站高清| 日韩中文字幕不卡| 日韩一级网站| 国产探花一区| 精品日韩毛片| 日韩1区2区日韩1区2区| 91综合网人人| 婷婷综合国产| 偷拍精品精品一区二区三区| 亚洲va久久| 99久久九九| 亚洲乱码久久| 欧美 日韩 国产精品免费观看| 91九色综合| 日韩视频一区| 久久精品国产福利| 尤物网精品视频| 国产欧美日韩一区二区三区四区 | 久久免费黄色| 人人爱人人干婷婷丁香亚洲| 久久国产影院| 激情国产在线| 国产精品成久久久久| 亚洲最新av| 欧美另类综合| 国产精选在线| 黄色亚洲在线| 日韩在线二区| 麻豆一区二区三| 欧美影院视频| 在线精品福利| 激情综合激情| 久久国产中文字幕| 日韩激情一区| 精品一区二区三区四区五区| 日本欧美一区二区在线观看| 丝袜脚交一区二区| 亚洲香蕉久久| 欧美日韩一视频区二区| 国产免费av国片精品草莓男男| 日本一区二区三区中文字幕| 青青青免费在线视频| 国产成人精品免费视| 开心激情综合| 国产成人精品亚洲日本在线观看| 日韩精品2区| 日韩视频精品在线观看| 亚洲一区中文| 国产乱码精品一区二区三区亚洲人 | 美女av在线免费看| av亚洲一区二区三区| 精品中文字幕一区二区三区av| 亚洲制服少妇| 日本欧美大码aⅴ在线播放| 亚洲人成亚洲精品| 国产精品v一区二区三区| av在线最新| 爽好久久久欧美精品| 国产欧美一区二区三区米奇| 久久电影tv| 婷婷综合五月| 欧美另类中文字幕| 欧美理论视频| 91九色综合| 色爱综合av| 日韩精品视频在线看| 国产一区二区三区视频在线| 亚洲欧美高清| 精品视频国内| 在线国产日韩| 欧美日韩第一| 亚洲精品一级| se01亚洲视频 | 午夜亚洲福利| 999国产精品999久久久久久| 日本精品国产| 亚洲成人免费| 在线看片福利| 91成人精品观看| 狠狠色狠狠色综合日日tαg| 777久久精品| 久久成人一区| 日韩在线欧美| 国产精品一区二区三区美女| 不卡专区在线| 99国产精品视频免费观看一公开| 久久av偷拍| 亚洲免费毛片| 精精国产xxxx视频在线野外| 国产精品chinese| 91麻豆精品激情在线观看最新| 三级欧美韩日大片在线看| 日韩和的一区二在线| 国产一区2区| 国产videos久久| 欧美国产日本| 国产精品一区二区三区www| 无码日韩精品一区二区免费| 亚洲视频二区| 影院欧美亚洲| 久久国产福利| 福利一区和二区| 91国内精品| 国产精品亚洲一区二区在线观看| 亚洲欧美日韩国产综合精品二区| 蜜桃成人av| 蜜桃av一区二区| 欧美综合社区国产| 日韩av有码| 在线精品小视频| 欧美日韩免费观看视频| 欧美日韩在线观看视频小说| 三上亚洲一区二区| 欧美片第1页综合| 国产精品毛片视频| 好看不卡的中文字幕| 正在播放日韩精品| 欧美精品影院| 国产精品国码视频| 成人av动漫在线观看| 欧美精品一区二区久久| 亚洲精品护士| 欧美激情综合| 国产欧美三级| 色婷婷狠狠五月综合天色拍| 麻豆久久精品| 国产精品多人| 九色porny丨国产首页在线| 欧美国产91| 一本综合精品| 国产成人精品一区二区免费看京| 欧美香蕉视频| 日韩毛片在线| 亚洲精品伊人| 黄色亚洲在线| 日本不卡一区二区| 亚洲美女久久| sm捆绑调教国产免费网站在线观看| 久久精品国产大片免费观看| 影音先锋久久精品| 精品视频一区二区三区在线观看| 亚洲欧美一区在线| 国产精品久久久久久久久久齐齐| 蜜臀国产一区| 国产欧美日韩亚洲一区二区三区| 91精品久久久久久久久久不卡| 亚洲精品无播放器在线播放| 一本一道久久a久久| 亚洲成人不卡| 欧美激情一区| 欧美一区不卡| 免费在线成人网| 国产欧美日韩一级| 欧美一级鲁丝片| 国产日产一区| 六月婷婷一区| 亚洲一级网站| 日本免费一区二区三区四区| 国产精品66| 国产亚洲欧美日韩在线观看一区二区 | 亚洲深爱激情| 麻豆精品蜜桃| 天堂а√在线最新版中文在线| 国产精品成人国产| 国产欧美一区二区色老头|