微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 v-for 验证和 vuetify 复选框组

如何解决使用 v-for 验证和 vuetify 复选框组

我对 vee-validate、vuetify 和 v-for 有一些问题。 有我的代码

<ValidationProvider
  name="availableLanguages"
  rules="required"
  v-slot="{ errors }"
>
  <v-row>
    <v-col
      cols="2"
      v-for="availableLanguage in availableLanguages"
      :key="availableLanguage.label"
    >
      <v-checkBox
        v-model="selectedLanguage"
        :label="availableLanguage.label"
        :value="availableLanguage.value"
        :error="errors.length > 0"
        hide-details
        @click="setDefaultLanguage"
        key="availableLanguage-input"
      />
    </v-col>
  </v-row>
  <v-row>
    <v-col
      cols="12"
      class="errorCheckBox"
    >
      {{ errors[0] }}
    </v-col>
  </v-row>
</ValidationProvider>

预期的结果是什么?

我有一个复选框组。我想如果所有复选框都未选中,则会出现一条错误消息。

发生了什么事?

如果我没有在 v-for 循环的第一次迭代中单击一次,则不会触发错误

感谢您的帮助。

解决方法

默认情况下,Validationprovider 不会在呈现表单时立即验证,而是仅在触摸该字段时才进行验证。您可以使用 immediate 道具在渲染时验证该字段:

<ValidationProvider
  name="availableLanguages"
  rules="required"
  immediate
  v-slot="{ errors }"
>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。