您好,登錄后才能下訂單哦!
本篇內容介紹了“Vue實現ElementUI Form表單校驗功能”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
以下是form的demo
el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic"> <el-form-item prop="email" label="郵箱" :rules="[ { required: true, message: '請輸入郵箱地址', trigger: 'blur' }, { type: 'email', message: '請輸入正確的郵箱地址', trigger: ['blur', 'change'] } ]" > <el-input v-model="dynamicValidateForm.email"></el-input> </el-form-item> <el-form-item v-for="(domain, index) in dynamicValidateForm.domains" :label="'域名' + index" :key="domain.key" :prop="'domains.' + index + '.value'" :rules="{ required: true, message: '域名不能為空', trigger: 'blur' }" > <el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">刪除</el-button> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('dynamicValidateForm')">提交</el-button> <el-button @click="addDomain">新增域名</el-button> <el-button @click="resetForm('dynamicValidateForm')">重置</el-button> </el-form-item> </el-form> <script> export default { data() { return { dynamicValidateForm: { domains: [{ value: '' }], email: '' } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); }, resetForm(formName) { this.$refs[formName].resetFields(); }, removeDomain(item) { var index = this.dynamicValidateForm.domains.indexOf(item) if (index !== -1) { this.dynamicValidateForm.domains.splice(index, 1) } }, addDomain() { this.dynamicValidateForm.domains.push({ value: '', key: Date.now() }); } } } </script>
首先對el-form標簽中的幾個關鍵屬性進行說明
ref: 當前表單的唯一標識
model: 表單綁定的對象
rules: 字段校驗規則
rules字段用來定義各個字段具體的校驗規則,用法請查閱開篇的demo示例,其中required標識字段是否必填,message為校驗提示語,trigger為單個校驗觸發方式;也可以通過validator字段自定義校驗規則,方法validateProductName中對商品名稱做了判空及長度校驗,需要注意的是所有的條件分支都要做callback處理,否則校驗可能會導致異常。
1、重置表單
調用表單重置方法this.$refs.dynamicValidateForm.resetFields()實現。
當然像datetimerange類型的日期控件是無法通過該方法進行重置,必須手動重置綁定的字段。
2、 清除校驗提示語
調用方法this.$refs.dynamicValidateForm.clearValidate()實現。
如果僅需要清除單個控件的提示語,只要把該控件對應的prop屬性值作為參數傳入即可。
還有另外一種方式就是在該控件對應的el-form-item標簽中增加ref屬性值,然后調用clearValidate方法。
“Vue實現ElementUI Form表單校驗功能”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。