国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

VeeValidate 的使用場景以及配置詳解

2019-11-19 12:17:58
字體:
來源:轉載
供稿:網友

創建vue項目:

vue init webpack veecd ./vee npm run dev # oryarn run dev

安裝 VeeValidate

npm install vee-validate --save# oryarn add vee-validate --save

本文中使用的 VeeValidate 版本為 2.1.5

在 App.vue 中引入

import VeeValidate from 'vee-validate';Vue.use(VeeValidate);

例子

第一個測試例子

<template> <div class="test1"> <div>  <input  type="text"  name="nickname"  v-model="formData.nickname"  v-validate="'required|min:3|max:10'"  >  <p>{{errors.first('nickname')}}</p> </div> <div>  <button @click="handleSubmit">Submit</button> </div> </div></template><script> export default { name: "test1", data() {  return {  formData: {   nickname: '',   password: '',  }  } }, methods: {  handleSubmit() {  this.$validator.validate()   .then((valid) => {   if (true === valid) {    console.log('驗證通過');   } else {    console.log(this.$validator.errors.all());   }   })  } } }</script><style scoped lang="css"> .test1 { width: 900px; margin: 0 auto; }</style>

更多配置請參考官網!

我們只是用些常用配置和常用的驗證!

中文配置

全局配置

import VeeValidate, {Validator} from 'vee-validate';import zh_CN from 'vee-validate/dist/locale/zh_CN';Vue.use(VeeValidate, { dictionary: { zh_CN: zh_CN }});Validator.localize('zh_CN');

這樣就可以使用中文提示了!

自定義錯誤提示

<template> <div class="test2"> <div><input type="text" v-model="formData.nickname" data-vv-name="nickname" v-validate="'required|min:3|max:10'"> </div> <div>{{errors.first('nickname')}}</div> <div><input type="text" v-model="formData.password" data-vv-name="password" v-validate="'required|min:5|max:200'"> </div> <div>{{errors.first('password')}}</div> <div>  <button @click="handleSubmit">Submit</button> </div> </div></template><script> const validate = { custom: {  nickname: {  required: () => '昵稱不得為空', //寫法1  min: "昵稱不得小于3個字符", //寫法2  max: () => '昵稱不得大于10個字符'  },  password: {  required: () => '密碼不得為空',  min: "密碼不得小于5個字符",  max: () => '密碼不得大于200個字符'  } }, }; export default { name: "test2", data() {  return {  formData: {   nickname: '',   password: '',  }  } }, methods: {  handleSubmit() {  this.$validator.validate()   .then((valid) => {   if (true === valid) {    console.log('驗證通過');   } else {    console.log(this.$validator.errors.all());   }   })  } }, mounted() {  this.$validator.localize('zh_CN', validate); } }</script>

自定義驗證規則

<template> <div class="test2"> <div><input type="text" v-model="formData.nickname" data-vv-name="nickname" v-validate="'required|min:3|max:10'"> </div> <div>{{errors.first('nickname')}}</div> <div><input type="text" v-model="formData.password" data-vv-name="password" v-validate="'required|min:5|max:200'"> </div> <div>{{errors.first('password')}}</div> <div><input type="text" v-model="formData.re_password" data-vv-name="re_password"    v-validate="'required|confirm'"> </div> <div>{{errors.first('re_password')}}</div> <div><input type="text" v-model="formData.mobile" data-vv-name="mobile" v-validate="'required|mobile'"> </div> <div>{{errors.first('mobile')}}</div> <div>  <button @click="handleSubmit">Submit</button> </div> </div></template><script> const validate = { custom: {  nickname: {  required: () => '昵稱不得為空', //寫法1  min: "昵稱不得小于3個字符", //寫法2  max: () => '昵稱不得大于10個字符'  },  password: {  required: () => '密碼不得為空',  min: "密碼不得小于5個字符",  max: () => '密碼不得大于200個字符'  },  re_password: {  required: () => '請再次輸入密碼!',  },  mobile: {  required: () => '請輸入手機號碼!',  } }, }; export default { name: "test3", data() {  return {  formData: {   nickname: '',   password: '',   re_password: '',   mobile: ''  }  } }, methods: {  handleSubmit() {  this.$validator.validate()   .then((valid) => {   if (true === valid) {    console.log('驗證通過');   } else {    console.log(this.$validator.errors.all());   }   })  } }, mounted() {  this.$validator.localize('zh_CN', validate);  this.$validator.extend('mobile', {  getMessage: field => '手機號有誤',  validate: value => {   return /^((13|14|15|17|18)[0-9]{1}/d{8})$/.test(value)  }  })  this.$validator.extend('confirm', {  getMessage: field => '兩次密碼輸入不一致',  validate: value => {   return value === this.formData.password  }  }) } }</script>

顯示第一個錯誤!

有時候我們需要在彈出層中提示用戶 所以要顯示第一個錯誤

this.$validator.errors.items[0].msg

例子 發驗證碼和注冊!

這個例子中發驗證碼是一個驗證 注冊又是一個驗證 所以有點意義!

在發送驗證碼的時候需要驗證手機號碼和圖形驗證碼 注冊的時候需要驗證除圖形驗證碼之外的數據

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片
主站蜘蛛池模板: 闽清县| 洪江市| 东乌| 镇巴县| 慈溪市| 嘉禾县| 宜城市| 夏河县| 铜山县| 怀来县| 霸州市| 南开区| 马公市| 鹤庆县| 凌云县| 微山县| 屯留县| 曲水县| 清流县| 务川| 梓潼县| 东港市| 靖西县| 江川县| 柘荣县| 德庆县| 庆城县| 宁强县| 石嘴山市| 石台县| 启东市| 新巴尔虎左旗| 宿迁市| 洪洞县| 尖扎县| 朝阳市| 吉林市| 阳泉市| 军事| 满洲里市| 内丘县|