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' }
]
}
}
}
平時遇到的一些小問題 自我記錄 有補(bǔ)充的地方希望大家多多提出意見 共同學(xué)習(xí)!
到此這篇關(guān)于element ui From表單校驗不生效問題解決的文章就介紹到這了,更多相關(guān)element From表單校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項目keepAlive配合vuex動態(tài)設(shè)置路由緩存方式
vue項目keepAlive配合vuex動態(tài)設(shè)置路由緩存方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04
vue3中使用router路由實現(xiàn)跳轉(zhuǎn)傳參的方法
這篇文章主要介紹了vue3中使用router路由實現(xiàn)跳轉(zhuǎn)傳參的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
vue中el-table前端如何導(dǎo)出excel數(shù)據(jù)表格
這篇文章主要介紹了vue中el-table前端如何導(dǎo)出excel數(shù)據(jù)表格,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07

