for循环 el-form-item校验代码
时间: 2023-11-05 19:52:28 浏览: 98
如果你想在 for 循环中对多个 el-form-item 进行校验,你可以使用 el-form 组件的 validate 方法。具体的代码示例如下:
```html
<template>
<el-form ref="form" :model="form" :rules="rules" >
<el-form-item v-for="(item, index) in formItems" :label="item.label" :key="index" prop="item.key">
<el-input v-model="item.value"></el-input>
</el-form-item>
<el-button type="primary" @click="validateForm">提交</el-button>
</el-form>
</template>
<script>
export default {
data() {
return {
formItems: [
{ label: '字段1', key: 'field1', value: '' },
{ label: '字段2', key: 'field2', value: '' },
// 更多字段...
],
form: {},
rules: {
// 定义校验规则
field1: [
{ required: true, message: '字段1不能为空', trigger: 'blur' }
],
field2: [
{ required: true, message: '字段2不能为空', trigger: 'blur' }
],
// 更多字段的校验规则...
}
};
},
methods: {
validateForm() {
this.$refs.form.validate((valid) => {
if (valid) {
// 校验通过,执行提交操作
this.submitForm();
} else {
// 校验不通过,进行相应的处理
this.$message.error('表单校验失败,请检查输入');
}
});
},
submitForm() {
// 提交表单的逻辑
}
}
};
</script>
```
在上面的示例中,我们使用了 v-for 指令来遍历 formItems 数组,动态生成多个 el-form-item 和对应的输入框。然后,在 el-form 组件上使用 ref 属性引用了该表单,并设置了 :model 和 :rules 属性。:model 绑定了表单数据对象 form,:rules 绑定了字段的校验规则。
在点击提交按钮时,调用 validateForm 方法,通过 this.$refs.form.validate() 方法进行表单校验。校验结果会通过回调函数传递到 valid 参数中,如果校验通过,则执行提交操作;否则,提示校验失败的错误信息。
注意:在 el-form-item 上设置了 prop 属性来指定字段名,这是校验规则生效的前提。校验规则需要在 rules 对象中定义,并与字段名对应。
阅读全文