element-plus表单验证一直失败
问题如下:我使用element-plus的el-from组件来进行表单验证,
表单样式:
<el-form ref="form" style="width: 80%;" :model="trademarkParams" :rules="rules" Ref="ruleFormRef">
<el-form-item label="品牌名称" label-width="100px" prop="tmName">
<el-input placeholder="请输入品牌的名称" v-model="trademarkParams.tmName" ></el-input>
</el-form-item>
<el-form-item label="品牌LOGO" label-width="100px" prop="logUrl">
<el-upload
class="avatar-uploader"
action="/api/admin/product/fileUpload"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="trademarkParams.logoUrl" :src="trademarkParams.logoUrl" class="avatar" />
<el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
</el-upload>
</el-form-item>
</el-form>
表单验证
//获取from表单的组件实例
let ruleFormRef=ref()
// 添加品牌名的自定义表单校验
const tmNamePass = (_:any, value: any, callback: any) => {
if (value) {
callback()
} else {
callback(new Error('输入内容不能为空'))
}
}
// 添加品牌照片的自定义表单校验
const logUrlPass = (_:any, value: any, callback: any) => {
if (value) {
callback()
} else {
callback(new Error('必须上传图片文件'))
}
}
//表单校验
let rules={
tmName:[{
required: true,
trigger: 'blur',
validator: tmNamePass,
}],
logUrl:[{
required: true,
validator: logUrlPass,
}]
}
点击确认按钮提交表单,这一段代码报错,注释了不进行表单验证就能执行后续代码,之前测试的时候没问题,后面再次测试就表单验证不通过了,想问一下大家哪里错了,十分感谢!
await ruleFormRef.value.validate()