您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“vue怎么實現表單校驗”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vue怎么實現表單校驗”這篇文章吧。
首先,在你的vue項目中進行安裝:
npm install --save vue-input-check
安裝完成以后引入并注冊:
import inputCheck from 'vue-input-check'; // 安裝 Vue.use(inputCheck);
然后,我們就可以在表單中使用了:
<form autocomplete="off" novalidate> <input v-model='key' name='輸入框名稱' v-input-check='[key,"validate-express"]'/> <!-- 可以有任意多的輸入框 --> </form>
如你所見,上述的v-input-check
就是我們對每個輸入框定義規則的地方,值是一個數組,第一個值就是輸入框的v-model
,第二個值是一個字符串,語法如下:
validate-express="val1:param1:param2|val2|valu3:param1"
不同的規則使用|分割,需要傳遞參數的規則的參數通過:分割。我們來看幾個例子:
v-input-check='[key,"required|maxLength:10|regexp:^\\d{1,5}$"]' v-input-check='[key,"required"]'
目前可選的內置規則如下:
required:boolean:
表示必輸,有一個可選參數,表示是否必輸,默認true
maxLength:num:
最大長度
minLength:num:
最小長度
regexp:str:
正則表達式
頁面的規則定義好了以后,你有兩中方式獲取校驗的結果。
直接使用下列方法啟動檢查即可:
this.$validateCheck(formnode, callback, errorback);
此對象包含三個參數:
formnode
:需要校驗的表單結點,必輸
callback
:表單合法回調,可選
errorback
:表單非法回調,可選
此外,錯誤回調有一個形參,數據格式為:
{ "$el":錯誤的輸入框結點 "$error":當前輸入框的第一個錯誤提示信息 }
提供這種方式的目的是為了可以在頁面實時反饋當前表單的輸入情況。
首先,在表單上,你可以通過判斷class
包含v-valid
或者v-invalid
來判斷表單是否合法。
同樣的,添加指令
v-input-check
的地方同樣可以這樣判斷該處是否合法,而對于更具體的錯誤細節,比如必輸非法,class就會像這樣v-invalid-required v-invalid
。
在大部分情況下,我們還可能需要添加新的校驗規則,畢竟默認的往往不足以滿足所有業務情況:
Vue.use(inputCheck, { // 自定義校驗規則 validate: [{ // 規則的名稱 name: "XXX", // 校驗方法,返回true表示合法,false表示非法 // 需要注意的是,這個函數除了el和val一定存在外,余下的參數是使用的時候通過```:```分割傳遞的,可以有任意多個 // 比如:``` required:true|phone:parm1:param2 ``` test: function (el, val, ...) { return true|false; }, // 非法提示信息,應該返回一個字符串 message: function (el, name) { return "XXX"; } }, // 校驗規則可以有多條 ...... ] });
以上是“vue怎么實現表單校驗”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。