詳解vue表單驗(yàn)證組件 v-verify-plugin
verify
github:https://github.com/liuyinglong/verify
npm:https://www.npmjs.com/package/vue-verify-plugin
install
npm install vue-verify-plugin
use
html
<div>
<div>
<input type="text" placeholder="姓名" v-verify.grow1="username" v-model="username"/>
<label v-verified="verifyError.username"></label>
</div>
<div>
<input type="password" placeholder="密碼" v-verify.grow1="pwd" v-model="pwd"/>
<label v-verified="verifyError.pwd"></label>
</div>
<button v-on:click="submit">確認(rèn)</button>
</div>
js
import Vue from "vue";
import verify from "vue-verify-plugin";
Vue.use(verify);
export default{
data:function(){
return {
username:"",
pwd:""
}
},
methods:{
submit:function(){
if(this.$verify.check()){
//通過(guò)驗(yàn)證
}
}
},
verify:{
username:[
"required",
{
test:function(val){
if(val.length<2){
return false;
}
return true;
},
message:"姓名不得小于2位"
}
],
pwd:"required"
},
computed:{
verifyError:function(){
return this.$verify.$errors;
}
}
}
指令說(shuō)明
v-verify
v-erify 在表單控件元素上創(chuàng)建數(shù)據(jù)的驗(yàn)證規(guī)則,他會(huì)自動(dòng)匹配要驗(yàn)證的值以及驗(yàn)證的規(guī)則。
v-verify 修飾符說(shuō)明
該指令最后一個(gè)修飾符為自定義分組
//自定義teacher分組
v-verify.teacher
//自定義student分組
v-verify.student
//驗(yàn)證時(shí)可分開(kāi)進(jìn)行驗(yàn)證
//驗(yàn)證student 分組
this.$verify.check("student")
//驗(yàn)證teacher 分組
this.$verify.check("teacher")
//驗(yàn)證所有
this.$verify.check();
v-verified
v-verified 錯(cuò)誤展示,當(dāng)有錯(cuò)誤時(shí)會(huì)展示,沒(méi)有錯(cuò)誤時(shí)會(huì)加上style:none,默認(rèn)會(huì)展示該數(shù)據(jù)所有錯(cuò)誤的第一條
該指令為語(yǔ)法糖(見(jiàn)示例)
<input v-model="username" v-verify="username"> <label v-show="$verify.$errors.username && $verify.$errors.username.length" v-text="$verify.$errors.username[0]"></label> <!--等價(jià)于--> <label v-verified="$verify.$errors.username"></label> <!--展示所有錯(cuò)誤--> <label v-verified.join="$verify.$errors.username">
修飾符說(shuō)明
.join 展示所有錯(cuò)誤 用逗號(hào)隔開(kāi)
自定義驗(yàn)證規(guī)則
var myRules={
phone:{
test:/^1[34578]\d{9}$/,
message:"電話號(hào)碼格式不正確"
},
max6:{
test:function(val){
if(val.length>6) {
return false
}
return true;
},
message:"最大為6位"
}
}
import Vue from "vue";
import verify from "vue-verify-plugin";
Vue.use(verify,{
rules:myRules
});
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue使用Element組件時(shí)v-for循環(huán)里的表單項(xiàng)驗(yàn)證方法
- Vue2.0表單校驗(yàn)組件vee-validate的使用詳解
- vue組件表單數(shù)據(jù)回顯驗(yàn)證及提交的實(shí)例代碼
- Vue表單類(lèi)的父子組件數(shù)據(jù)傳遞示例
- Vue form表單動(dòng)態(tài)添加組件實(shí)戰(zhàn)案例
- vue動(dòng)態(tài)綁定組件子父組件多表單驗(yàn)證功能的實(shí)現(xiàn)代碼
- 使用form-create動(dòng)態(tài)生成vue自定義組件和嵌套表單組件
- vue2.0數(shù)據(jù)雙向綁定與表單bootstrap+vue組件
- 利用Vue v-model實(shí)現(xiàn)一個(gè)自定義的表單組件
- vue懸浮表單復(fù)合組件開(kāi)發(fā)詳解
相關(guān)文章
vue@cli3項(xiàng)目模板怎么使用public目錄下的靜態(tài)文件
這篇文章主要介紹了vue@cli3項(xiàng)目模板怎么使用public目錄下的靜態(tài)文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
vue如何通過(guò)某個(gè)字段獲取詳細(xì)信息
這篇文章主要介紹了vue如何通過(guò)某個(gè)字段獲取詳細(xì)信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
vue手寫(xiě)加載動(dòng)畫(huà)項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了vue手寫(xiě)加載動(dòng)畫(huà)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
Vue實(shí)現(xiàn)自動(dòng)檢測(cè)以及版本的更新
當(dāng)用戶在當(dāng)前站點(diǎn)停留時(shí)間比較長(zhǎng),中途站點(diǎn)進(jìn)行升級(jí)更新之后,用戶如果不刷新頁(yè)面就任然停留在舊的頁(yè)面里,如何讓用戶收到一個(gè)提示,引導(dǎo)用戶進(jìn)行更新操作呢?下面給大家介紹如何站點(diǎn)更新如何在生產(chǎn)環(huán)境提示用戶更新,進(jìn)行頁(yè)面刷新操作,核心原理其實(shí)很簡(jiǎn)單2023-03-03
項(xiàng)目開(kāi)發(fā)中husky的使用詳解
這篇文章主要為大家介紹了項(xiàng)目開(kāi)發(fā)中husky的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
vite+vue3中使用mock模擬數(shù)據(jù)問(wèn)題
這篇文章主要介紹了vite+vue3中使用mock模擬數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Object.assign觸發(fā)watch原理示例解析
這篇文章主要為大家介紹了Object.assign觸發(fā)watch原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
vue中如何動(dòng)態(tài)綁定圖片,vue中通過(guò)data返回圖片路徑的方法
下面小編就為大家分享一篇vue中如何動(dòng)態(tài)綁定圖片,vue中通過(guò)data返回圖片路徑的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02

