最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

element vue validate驗(yàn)證名稱重復(fù) 輸入框與后臺(tái)重復(fù)驗(yàn)證 特殊字符 字符長(zhǎng)度 及注意事項(xiàng)小結(jié)【實(shí)例代碼】

 更新時(shí)間:2018年11月20日 11:46:39   作者:```...簡(jiǎn)單點(diǎn)  
這篇文章主要介紹了element vue validate驗(yàn)證名稱重復(fù) 輸入框與后臺(tái)重復(fù)驗(yàn)證 特殊字符 字符長(zhǎng)度 及注意事項(xiàng)小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

具體代碼如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <link rel="stylesheet"  rel="external nofollow" >
</head>
<body >
<div id="app">
  <!--此處model的abc 要是下面input 綁定的對(duì)象名稱, ref 要和提交按鈕的submit參數(shù) 名稱要一致-->
  <el-form size="mini" :model="abc" ref="validateRef">
    <!--此處的prop 和input 中abc的屬性名稱一致 -->
    <el-form-item label="你好" prop="hello" :rules="[{required: true,message:'請(qǐng)輸入',trigger:'blur'}
                             ,{validator:validateCharacter,trigger:'blur'}
                             ,{validator:validateFontSize,trigger:'blur'}
                             ,{validator:validatePass,trigger:'blur'}]">
      <el-input type="text" v-model="abc.hello" placeholder="請(qǐng)輸入..." clearable></el-input>
    </el-form-item>
  </el-form>
  <el-button @click="submit('validateRef')" type="primary" :loading="submitLoading">提交</el-button>
</div>
<!-- import Vue before Element -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
  var context=[[${#request.getContextPath()}]];
  var ArrayMap = new Vue({
    el: '#app',
    data: function () {
      return {
        abc: {
          hello: '',
        },
        submitLoading:false,
      }
    },
    methods: {
      //特殊字符過濾
      checkSpecificKey(str) {
        var specialKey = "[`~!#$^&*()=|{}':;',\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?]‘'";
        for (var i = 0; i < str.length; i++) {
          if (specialKey.indexOf(str.substr(i, 1)) != -1) {
            return false;
          }
        }
        return true;
      },
      //驗(yàn)證字符串
      validatePass(rule,value,callback){
        var that=this;
        $.ajax({
          url:context+"/abc?name="+that.abc.hello,
          type:"GET",
          async:false,
          dataType:"json",
          contentType:"application/json;charset=UTF-8",
          data:{}
        }).done(function(resp){
          if(resp.data.isTrue){
            callback();
          }else{
            callback(new Error("名稱重復(fù),請(qǐng)重新輸入"))
          }
        })
      },
      //驗(yàn)證字符串
      validateFontSize(rule,value,callback){
        if(value.length<30){
          callback();
        }else{
          callback(new Error("字符串長(zhǎng)度在1-30之間"))
        }
      },
      //驗(yàn)證字符串
      validateCharacter(rule,value,callback){
        if(this.checkSpecificKey(value)){
          callback();
        }else{
          callback(new Error('請(qǐng)不要輸入特殊字符:[`~!#$^&*()=|{}\':;\',\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“\'。,、?]‘\''))
        }
      },
      submit(data) {
        this.submitLoading=true,
        this.$refs[data].validate((valid) => {
          if (valid) {
            //驗(yàn)證成功,提交
            return true;
          } else {
            //驗(yàn)證失敗返回
            return false;
          }
          ;
        })
      },
    },
  })
</script>
</body>
</html>

下面看下vue-element 輸入框驗(yàn)證

1.控制輸入位數(shù)

限制輸入為10位,這種方式可以使輸入框中輸入10位后不能輸入后續(xù)內(nèi)容

因?yàn)閚umber輸入框自動(dòng)將最后一位小數(shù)點(diǎn)忽略不計(jì),因此“.”,"2.","3.3."這三種情況均為正確的輸入

<el-form-item label="渠道:" prop="channelName">
 <el-input v-model="formData.channelName" :maxlength="10" placeholder="請(qǐng)輸入渠道名稱"></el-input>
</el-form-item>
rules:{
    channelName:[
     {required:true,message:'渠道名稱不能為空',trigger:'change'},
    ],
 }

2.控制小數(shù)輸入位數(shù)

input 設(shè)置類型為number,step控制步長(zhǎng),正則表達(dá)式匹配輸入的格式必須為xxx.xxx.

注意,此種方法無法區(qū)分不輸入的情況,故將提示信息合并為一個(gè)。

統(tǒng)一觸發(fā)方式為change

<el-form-item label="短信單價(jià):" prop="price" class="form-price">
  <el-input type="number" step="0.001" v-model="formData.price" placeholder="請(qǐng)輸入"></el-input>
</el-form-item>
//js
  let checkPrice = (rule,value,callback)=>{
    if(value){
     let rgx = /^\d+(\.\d{1,3})?$/;
     if(value.match(rgx)==null){
      return callback(new Error('請(qǐng)檢查輸入格式,不能為空,且最多三位小數(shù)'))
     }else{
      callback();
     }
    }
   };
   rules:{
     price:[
      {required:true,message:'請(qǐng)檢查輸入格式,不能為空,且最多三位小數(shù)',trigger:'change'},
      {validator:checkPrice,trigger:'change'}
     ]
   },

3.驗(yàn)證時(shí)間控件選擇的時(shí)間是否在某個(gè)范圍

 let checkSendTime = (rule, value, callback) => {
    let hour = value ? value.getHours() :0;
    if (value !== "") {
     if (hour < 8 || hour > 21) {
      return callback(new Error('請(qǐng)選擇8:00~22:00之間發(fā)送'));
     } else {
      callback();
     }
    }
   };
   sendTime:[
      {type:'date',required: true, message: '發(fā)送時(shí)間不能為空', trigger: 'blur'},
      {validator:checkSendTime,trigger:'blur'}
     ]

總結(jié)

以上所述是小編給大家介紹的element vue validate驗(yàn)證名稱重復(fù) 輸入框與后臺(tái)重復(fù)驗(yàn)證 特殊字符 字符長(zhǎng)度 及注意事項(xiàng)小結(jié)【實(shí)例代碼】,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • axios請(qǐng)求中以params或body形式傳遞參數(shù)的區(qū)別淺析

    axios請(qǐng)求中以params或body形式傳遞參數(shù)的區(qū)別淺析

    最近在做自己項(xiàng)目中,做一個(gè)非常簡(jiǎn)單的新增用戶場(chǎng)景,但是使用原生axios發(fā)送post請(qǐng)求的時(shí)候,還是踩了不少坑的,下面這篇文章主要給大家介紹了關(guān)于axios請(qǐng)求中以params或body形式傳遞參數(shù)的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Element?el-date-picker?日期選擇器的使用

    Element?el-date-picker?日期選擇器的使用

    本文主要介紹了Element?el-date-picker?日期選擇器的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • vue項(xiàng)目中使用多選框的實(shí)例代碼

    vue項(xiàng)目中使用多選框的實(shí)例代碼

    這篇文章主要介紹了vue項(xiàng)目中使用多選框的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • vue+element實(shí)現(xiàn)下拉菜單并帶本地搜索功能示例詳解

    vue+element實(shí)現(xiàn)下拉菜單并帶本地搜索功能示例詳解

    這篇文章主要介紹了vue+element實(shí)現(xiàn)下拉菜單并帶本地搜索功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Vue實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建和刪除數(shù)據(jù)的方法

    Vue實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建和刪除數(shù)據(jù)的方法

    下面小編就為大家分享一篇Vue實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建和刪除數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue中的請(qǐng)求攔截器和響應(yīng)攔截器用法及說明

    Vue中的請(qǐng)求攔截器和響應(yīng)攔截器用法及說明

    這篇文章主要介紹了Vue中的請(qǐng)求攔截器和響應(yīng)攔截器用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vite?Vue3?EsLint?Prettier配置步驟極簡(jiǎn)方法詳解

    Vite?Vue3?EsLint?Prettier配置步驟極簡(jiǎn)方法詳解

    這篇文章主要為大家介紹了Vite?Vue3?EsLint?Prettier配置步驟的極簡(jiǎn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • vue中v-model的應(yīng)用及使用詳解

    vue中v-model的應(yīng)用及使用詳解

    v-model用于表單數(shù)據(jù)的雙向綁定,其實(shí)它就是一個(gè)語法糖。這篇文章主要介紹了vue中v-model的應(yīng)用,需要的朋友可以參考下
    2018-06-06
  • Vue3中watch監(jiān)聽使用詳解

    Vue3中watch監(jiān)聽使用詳解

    watch 函數(shù)用來偵聽特定的數(shù)據(jù)源,并在回調(diào)函數(shù)中執(zhí)行副作用,下面這篇文章主要給大家介紹了關(guān)于Vue3中watch監(jiān)聽使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Vue.js實(shí)現(xiàn)數(shù)據(jù)雙向綁定的代碼示例

    Vue.js實(shí)現(xiàn)數(shù)據(jù)雙向綁定的代碼示例

    在我們使用vue的時(shí)候,當(dāng)數(shù)據(jù)發(fā)生了改變,界面也會(huì)跟著更新,但這并不是理所當(dāng)然的,我們修改數(shù)據(jù)的時(shí)候vue是如何監(jiān)聽數(shù)據(jù)的改變以及當(dāng)數(shù)據(jù)發(fā)生改變的時(shí)候vue如何讓界面刷新的,所以本文就給大家講講Vue.js 數(shù)據(jù)雙向綁定是如何實(shí)現(xiàn)的
    2023-07-07

最新評(píng)論

封丘县| 泌阳县| 武胜县| 京山县| 九寨沟县| 平阴县| 樟树市| 宜章县| 七台河市| 盐山县| 南陵县| 南安市| 固安县| 乐山市| 山东省| 庆元县| 神木县| 阜康市| 米林县| 延津县| 定州市| 达尔| 盘山县| 乌拉特中旗| 新安县| 丰台区| 昌黎县| 谷城县| 扎兰屯市| 鄂尔多斯市| 六枝特区| 拜城县| 洪江市| 金昌市| 营口市| 巴马| 开远市| 星座| 梁平县| 调兵山市| 临武县|