elementUI el-form表单的upload上传文件必填校验
在Element UI中,el-form
表单结合el-upload
组件实现文件上传时,可以通过自定义表单验证规则来实现必填的检查。以下是一个简单的例子:
<template>
<el-form :model="form" :rules="rules" ref="form" label-width="100px">
<el-form-item label="文件上传" prop="file">
<el-upload
ref="upload"
:auto-upload="false"
:on-change="handleChange"
action="https://jsonplaceholder.typicode.com/posts/"
>
<el-button slot="trigger" size="small" type="primary">选择文件</el-button>
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
file: null
},
rules: {
file: [
{ required: true, message: '请上传文件', trigger: 'blur' }
]
}
};
},
methods: {
handleChange(file, fileList) {
this.form.file = file.raw;
},
submitForm() {
this.$refs.form.validateField('file', (valid) => {
if (!valid) {
console.log('验证不通过');
return;
}
this.$refs.upload.submit();
});
}
}
};
</script>
在这个例子中,el-form-item
的prop
属性绑定了form
对象的file
属性,而rules
对象定义了file
属性的验证规则。在提交表单时,调用this.$refs.form.validateField
方法来验证特定字段,如果验证通过,则执行文件上传的操作。
评论已关闭