vue 輸入框數字、中文驗證


   vue項目是基於element框架做的,在做form表單時,要做些驗證,element框架也提供了自定義驗證

   下面是一些常見的驗證

   只允許輸入數字:

      可以直接用框架的rule去驗證,但必須在model后加上number

    <el-form-item label="姓名:">
          <el-input v-model.number="num"></el-input>         
       </el-form-item>

    num: [
        {required: true, message: '請輸入數量'},
        {type: 'number', message: '數量必須為數字值'}
      ],

   只允許輸入數字和小數:   

    <el-input v-model="items.volume" oninput="value=value.replace(/[^\d.]/g,'')"></el-input>

   過濾中文:    

    <el-input v-model="form.trailer.so_no"  oninput="value=value.replace(/[\u4e00-\u9fa5]/g, '')"></el-input>

 

   補充:

    由於使用了<el-form>組件,添加了rules驗證規則,導致與oninput事件的驗證規則發生了沖突,所以修改如下

    

    <el-input v-model="form.trailer.so_no"  oninput="value=value.replace(/[\u4e00-\u9fa5]/g, '')"  @change="deal(index,indexs,$event,'volume')"></el-input>
    deal(index,indexs,value,prop){
        this.form.sark_type[index].child[indexs][prop]=value
      },

    對當前屬性重新賦值,也可以把oninput事件的驗證移到change事件,不過這樣驗證只能在失焦的時候觸發

    ps:由於屬性層級較多,包含了多層數組,通過element自定義驗證去做,要逐層拆屬性,着實有點麻煩。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM