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類型。
