vee-validate,如何动态取消校验规则?

在vue项目中,有以下场景一个页面中有上传图片按钮,

clipboard.png

 <label class="btn btn-success btn-xs upload" for="logoName">{{brandBaseItem ?
    'Change' : 'Upload'}}</label>
<input type="file"
       ref="logoName"
       id="logoName"
       class="hidden"
       @change="getLogoName"
       v-validate="'required|image|size:300|ext:[gif,jpeg,jpg,bmp,png]'"/>
<span class="text-primary title">{{ fileName ?  fileName : (brandBaseItem ? brandBaseItem.logoName : '')}}</span>
<p class="text-danger" v-show="!errors.has('logoName')">(only
    gif,jpeg,jpg,bmp,png,and file size no more than 300k)</p>

第一次打开页面的时候,保存的时候时必须输入的,保存后,再次打开编辑页面,这个时候再次保存,不是必填的,请问怎么修改校验规则?

阅读 8.8k
2 个回答

vee-validate支持对象表示方法,修改为下面的方式就可以:

v-validate="{
   required: !(brandBaseItem && brandBaseItem.logoName),
   image: true,
   size: 300,
   ext: ['png', 'jpeg', 'jpg', 'bmp']}"

可以的,原来是我自己写了校验规则,没有加上,所有 v-validate="{required: workShow==true,unitName:workShow==true}" unitName这个是自定义规则,加上就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题