el-input為數字時驗證問題


el-input為數字時,初始有值,怎么還會驗證不能為空?

html:

<el-form-item label="審核數量:" prop="checkNum">
     <el-input placeholder="請輸入審核數量" v-model="task.checkNum" class="short-input"></el-input>
</el-form-item>

驗證規則:

    checkNum: [
      { required: true, message: '審核數量不能為空', trigger: 'blur' },
      {
        validator: (rule, value, callback) => {
          if (/^[1-9]\d*$/.test(value) == false) {
            callback(new Error("請輸入一個整數"));
          } else {
            callback();
          }
        }, trigger: 'change'
      }
    ],

但是task.checkNum初始有值,點進去不改值,再blur的時候還是會出錯,如下:

 

 

原因

因為input默認接受的字符串,為數字時,系統默認值不符合,默認為空。

 

解決方法

    checkNum: [
      {type: 'number', required: true, message: '審核數量不能為空', trigger: 'blur' },
      {
        validator: (rule, value, callback) => {
          if (/^[1-9]\d*$/.test(value) == false) {
            callback(new Error("請輸入一個整數"));
          } else {
            callback();
          }
        }, trigger: 'change'
      }
    ],

告訴el-input關聯的是number類型。

 


免責聲明!

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



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