首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Vuetify验证复选框组

如何用Vuetify验证复选框组
EN

Stack Overflow用户
提问于 2019-09-02 09:31:55
回答 2查看 13.6K关注 0票数 14

在我的Vue + Vuetify项目中有一组复选框。我想验证一下,至少有一个复选框是使用Vuetify的“提交和清除的验证”选中的。

验证无线电组很容易,通过对无线电组应用规则可以很好地工作:

代码语言:javascript
复制
<v-radio-group v-model="radio" required :rules="radioRules" row>
    <v-radio label="A" value="a"></v-radio>
    <v-radio label="B" value="b"></v-radio>
    <v-radio label="C" value="c"></v-radio>
</v-radio-group>

问题:

不幸的是,对于复选框,我找不到像v-checkbox-group这样的组选项,所以我的复选框如下所示:

代码语言:javascript
复制
<v-checkbox class="pr-6" v-model="selected" label="A" value="a"></v-checkbox>
<v-checkbox class="pr-6" v-model="selected" label="B" value="b"></v-checkbox>
<v-checkbox class="pr-6" v-model="selected" label="C" value="c"></v-checkbox>

问题:

如何将规则应用于验证至少选中一个复选框的复选框,this.selected.length > 0

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-02 14:35:06

它可以通过数组作为v-model来完成。只需使用计算属性进行验证:

代码语言:javascript
复制
computed: {
    rules() {
      return [
        this.selected.length > 0 || "At least one item should be selected"
      ];
    }
  }

这是科德芬

还要注意如何使用hide-details属性的v-checkbox

票数 14
EN

Stack Overflow用户

发布于 2019-09-02 12:41:46

为什么不将模型的selected字段定义为数组,并将其绑定到下面的复选框中?

代码语言:javascript
复制
<v-checkbox class="pr-6" v-model="selected[0]" label="A" value="a"></v-checkbox>
<v-checkbox class="pr-6" v-model="selected[1]" label="B" value="b"></v-checkbox>
<v-checkbox class="pr-6" v-model="selected[2]" label="C" value="c"></v-checkbox>

供审定:

代码语言:javascript
复制
return this.selected.filter(s => s === true).length > 0
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57754552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档