網站首頁 編程語言 正文
element中對el-input 自定義驗證規則
首先明確要使自定義校驗生效的話,必須 prop 和 rules 的 鍵對應,如示例:(prop="description"在 rules 中有對應的鍵 )
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="demo-ruleForm">
<el-form-item label="描述:" prop="description">
<el-input type="textarea" v-model="ruleForm.description" maxLengtn="128" placeholder="請輸入描述"></el-input>
</el-form-item>
</el-form>
rules: {
description: [{ required: true, message: '請輸入描述', trigger: 'blur' }]
}
自定義校驗傳入自定義參數
elementui的自定義校驗不能傳入自定義參數,如果想傳入自定義參數的話,可以如下操作:
rules: {
description: [{
validator: (rule, value, callback) => {
this.validateType(rule, value, callback, this.params)
},
trigger: ['blur', 'change']
}]
}
this.params
相當于自定義參數,然后 this.validateType
中就可以接收到自定義的參數,并且也能對輸入框的值進行校驗了。
示例:驗證一個輸入框的值的類型,這個值的類型可能是['list', 'num', 'bool', 'str']
中的一種或多種,但如果為 list
的話就只能是 list
類型
// 數據類型有 ['list', 'num', 'bool', 'str']
// 一個輸入框的數據類型的情況可能有
// 情況一:數據類型為 ['list'],那輸入值的數據類型就可能都滿足,就返回 true,最后將輸入框中的值用 split(',')轉為數組類型即可
// 情況二:數據類型為 ['num', 'bool', 'str'],那輸入的值比如 12/true/'abc',用 typeof value 判斷輸入的數據類型
// let allTypes = ['list', 'num', 'bool', 'str']
/**
* @param {*} arr 輸入框的數據類型
* @param {*} value 輸入框的值
*/
function checkType (arr, value) {
if (arr.includes('list') && arr.length === 1) { // 還不確定
return true
} else {
// el-input 得到的值為字符串,所以需要處理,'1', 'true', '是', 0/1,使用 JSON.parse(value) 可以將對應類型的值轉換,如果 JSON.parse('abc') 會直接報錯
try {
value = JSON.parse(value)
} catch (error) {
// 字符串不做處理
}
if (['是', '否'].includes(value)) {
value = value === '是'
}
return arr.some(item => {
return (typeof value).indexOf(item) !== -1
})
}
}
console.log(checkType(['num', 'str', 'bool'], 'abc'))
原文鏈接:https://blog.csdn.net/qq_38157825/article/details/121354184
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-11-21 Python?Flask框架開發之運用SocketIO實現WebSSH方法詳解_python
- 2023-03-01 GoLang中Strconv庫有哪些常用方法_Golang
- 2022-03-31 C語言運算符的重載詳解_C 語言
- 2023-01-28 Python多進程并發與同步機制超詳細講解_python
- 2023-10-14 List排序問題
- 2022-10-30 C語言算法練習之數組元素排序_C 語言
- 2022-12-24 利用C語言實現頁面置換算法的詳細過程_C 語言
- 2022-10-05 python?slack桌面自動化開發工具_python
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支