解決input輸入框僅支持輸入數字及兩位小數點的限制
更新時間:2023年11月29日 10:50:54 作者:HUMILITY
這篇文章主要為大家介紹了解決input輸入框僅支持輸入數字及兩位小數點的限制技巧示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
nput輸入后即時從接口獲取數據的驗證
(僅支持輸入數字及兩位小數點的數字)
- input輸入后將輸入內容傳給后端,并且即時從后端拿到計算后的數值
問題及難點
- 輸入框內容是否符合后端要求規(guī)范(如果不符合規(guī)范發(fā)請求會報400)
- 前端做數據驗證
解決方案
<!-- vue及elementUI -->
<!-- v-model監(jiān)聽數據內容及校驗規(guī)則 -->
<!-- elementUI已按規(guī)定寫好 -->
<el-input v-model="ruleForm.computeFun" @blur="computeCash"> </el-input>
<p>{{ ruleform.numCompute }}</p>
<script>
return{
ruleForm:{
numCompute: ''
},
rules:{
computeFun:[
{ type: 'string', required: true, message: '請輸入保留兩位小數的金額' },
{ validator: (rule, value, callback) => {
// 保留兩位小數驗證
if (!/^\d+(\.\d{1,2})?$/.test(value)) {
callback(new Error('必須輸入數字,且最多保留兩位小數'))
} else if (value > 10000000) {
callback(new Error('不允許大于1000000'))
} else {
callback()
}
},
trigger: 'blur'
}
]}
},
methods:{
async computeCash () {
if (this.ruleForm.numCompute <1000000 && /^\d+(\.\d{1,2})?$/.test(this.ruleForm.numCompute)){
//發(fā)請求的參數
axios.xxx().then()
this.ruleForm.numCompute = 后端拿到的數據進行處理(比如單位)
} else {
this.$notify({
title: '提示‘,
message: '必須輸入小于1000000且符合規(guī)則的數據',
type: 'warning'
})
}
}
}
}
</script>基本邏輯
- 監(jiān)聽輸入內容,初步通過elementui的校驗規(guī)則進行判斷,通過初步校驗規(guī)則后,調用計算函數(后端請求),在此函數內進行判斷,如果判斷不通過就報提示,如果通過判斷再發(fā)請求。獲取數據
- 兩層規(guī)則處理,實際過程中只有通過該規(guī)則后才能發(fā)送請求
以上就是解決input輸入框僅支持輸入數字及兩位小數點的限制的詳細內容,更多關于input輸入框小數點位數的資料請關注腳本之家其它相關文章!
相關文章
基于Bootstrap的標簽頁組件及bootstrap-tab使用說明
這篇文章主要介紹了基于Bootstrap的標簽頁組件及bootstrap-tab使用說明,需要的朋友可以參考下2017-07-07
用Javascript檢查Adobe PDF插件是否安裝的實現代碼
用Javascript檢查Adobe PDF插件是否安裝的代碼2009-12-12

