场景:包含图片校验的表单保存的时候明明有值但是无法保存并校验失败
刚开始使用的自定义校验如下
imageSrc: [ { required: true, message: {"请上传卡片封面"}, trigger: 'change' }, ],
文件上传校验报错格式如下
于是在度娘上面搜了一大波解决方法
尝试一: 在el-upload的:on-success方法中使用
this.$refs.form.uploadElement.clearValid()
仍然无法解决,依然是保存报错依然在
尝试二: 后面又想,难道是加了:show-file-list="false"的问题,一阵捣鼓后依然无果
最后终于通过自定义校验规则解决,
const validateImageSrc = (rule, value, callback) => {
if (!this.form.imageSrc) {
callback(new Error('请上传卡片封面'));
} else {
callback();
}
};
imageSrc: [
{ required: true, validator: validateImageSrc, trigger: 'change' },
],
搞定!!