element?ui?From表單校驗不生效問題解決
解決方案① el-from
上要使用:model
不要使用v-model
<el-form ref="ruleForm" :model="testForm" label-width="100px" :rules="rules">
解決方案② el-from-item
上是否有加prop
,并確定prop
是不是和編寫的規(guī)則相同
<el-form-item label="活動名稱" prop="name"> <el-input v-model="testForm.name"></el-input> </el-form-item> // 校驗規(guī)則 prop name相同 rules: { name: [ { required: true, message: '請輸入活動名稱', trigger: 'blur' }, { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' } ] }
解決方案③$refs[formName]
與$refs.formName
注意事項 前者提交的時候要傳參@click="submitForm('ruleForm')"
不然不生效
//官方的寫法是$refs[formName] <el-form ref="ruleForm" :model="testForm" label-width="100px" :rules="rules"> <el-form-item label="活動名稱" prop="name"> <el-input v-model="testForm.name"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button> </el-form-item> <el-form> data() { return { testForm:{ name:'', }, rules: { name: [ { required: true, message: '請輸入活動名稱', trigger: 'blur' }, { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' } ] } } }, methods: { // 第一種方法要接收參數(shù) 并且$refs[formName] submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); },
//網(wǎng)上也有用 $refs.formName 第二種寫法的 <el-form ref="ruleForm" :model="testForm" label-width="100px" :rules="rules"> <el-form-item label="活動名稱" prop="name"> <el-input v-model="testForm.name"></el-input> </el-form-item> <el-form-item> // 不需要傳參 第二種方式 <el-button type="primary" @click="submitForm()">提交</el-button> </el-form-item> <el-form> data() { return { testForm:{ name:'', }, rules: { name: [ { required: true, message: '請輸入活動名稱', trigger: 'blur' }, { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' } ] } } }, methods: { // 第二種方法不需要接收參數(shù) 并且$refs.formName submitForm() { this.$refs.formName.validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); },
解決方案④網(wǎng)上有人說 未在data
里面聲明初始數(shù)據(jù)也會報錯(未復(fù)現(xiàn).解決方案僅供參考)
<el-form-item label="活動名稱" prop="name"> <el-input v-model="testForm.name"></el-input> </el-form-item> data() { return { // 校驗規(guī)則 prop name相同 testForm:{ name:'',//意思是這個位置沒有聲明 name 也會不生效 我測試了一下不聲明也生效 僅供參考 }, rules: { name: [ { required: true, message: '請輸入活動名稱', trigger: 'blur' }, { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' } ] } } }
平時遇到的一些小問題 自我記錄 有補充的地方希望大家多多提出意見 共同學習!
到此這篇關(guān)于element ui From表單校驗不生效問題解決的文章就介紹到這了,更多相關(guān)element From表單校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue項目打包成exe可執(zhí)行文件的實現(xiàn)過程(無瑕疵,完美版)
突然接到公司需求,說客戶想讓我們把項目直接打包,所以下面這篇文章主要給大家介紹了關(guān)于Vue項目打包成exe可執(zhí)行文件的實現(xiàn)過程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-11-11vue3中g(shù)etCurrentInstance示例講解
這篇文章主要給大家介紹了關(guān)于vue3中g(shù)etCurrentInstance的相關(guān)資料,文中還介紹了Vue3中關(guān)于getCurrentInstance的大坑,需要的朋友可以參考下2023-03-03詳解Vue3?父組件調(diào)用子組件方法($refs?在setup()、<script?setup>?中使用)
這篇文章主要介紹了Vue3?父組件調(diào)用子組件方法($refs?在setup()、<script?setup>?中使用),在 vue2 中 ref 被用來獲取對應(yīng)的子元素,然后調(diào)用子元素內(nèi)部的方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-08-08Vue實現(xiàn)移除數(shù)組中特定元素的方法小結(jié)
這篇文章主要介紹了Vue如何優(yōu)雅地移除數(shù)組中的特定元素,文中介紹了單個去除和批量去除的操作方法,并通過代碼示例講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-03-03vue3中路由傳參query、params及動態(tài)路由傳參詳解
vue3中的傳參方式和vue2中一樣,都可以用query和params傳參,下面這篇文章主要給大家介紹了關(guān)于vue3中路由傳參query、params及動態(tài)路由傳參的相關(guān)資料,需要的朋友可以參考下2022-09-09vue component 中引入less文件報錯 Module build failed
這篇文章主要介紹了vue component 中引入less文件報錯 Module build failed的解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04