iview的多选校验怎么没用呢

iview框架的多选,加了一个验证,当我第一次选择完数据后,验证是正常的不会报红;当我清除数据后再选一次,此时有值的情况下一直报红。

<FormItem label="货架名称" prop="shelveIdList">
   <Select v-model="formValidate.shelveIdList" multiple clearable @on-change="changeShelve">
       <Option v-for="item in shelveList" :value="item.id" :key="item.id">{{ item.name }}</Option>
    </Select>
 </FormItem>
          
          
       rules: {
        shelveIdList: [
           { required: true, type: 'array',  message: '请选择货架', trigger: 'change' },
        ]
      

clipboard.png

阅读 3.6k
2 个回答

根据你的代码写了个示列点击查看示列,表单验证没有问题啊

    <Form :model="formItem" :rules="ruleValidate" :label-width="80">
        <FormItem label="货架名称" prop="shelveIdList">
            <Select v-model="formItem.shelveIdList" multiple clearable>
                <Option value="1">1</Option>
                <Option value="2">2</Option>
                <Option value="3">3</Option>
            </Select>
        </FormItem>
    </Form>

data:


        formItem: {
          shelveIdList: [],
        },
        ruleValidate:{
          shelveIdList: [
           { required: true, type: 'array',  message: '请选择货架', trigger: 'change' },
          ]
        }

仔细检查下你的代码
是不是 你data里的formValidate.shelveIdList初始值写成了'' ? 刚才试过了,写成 '' 好像也没问题。
你还是细心的检查下的你的代码吧

默认的formValidate对象需要写shelveIdList:[]默认值,才能进行验证

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