数组单值验证



我有一个数组,在那里赋值:true或false。我使用validate

selectedDays: [
false,
false,
false,
false,
false,
false,
false
],

这是我的模板,当其中一个复选框被选中时,value将变为true。有必要编写一个验证,检查是否存在至少一个真值,如果没有选中任何复选框,则验证有效。

<p class="invalid-feedback mt-3" v-if="v$.selectedDays.$dirty && v$.selectedDays.$error">Пожалуйста, выберите дни тренировок</p>
<template v-for="(item, index) in daysList" :key="item.id">
<v-checkbox
hide-details
color="indigo"
v-model="selectedDays[index]"
:label="item.title"
>
</v-checkbox>

</template>

这是我的验证:

selectedDays: {
$each: helpers.forEach({
sameAs: sameAs(true)
})
}

但是它不起作用。我尝试编写自定义验证:

let check = this.selectedDays.some(function() {
if (this.selectedDays === true) {
return true;
} else {
return false;
}});

我不明白如何在validate中嵌入这个。有人能帮帮我吗?

自定义验证错误,它需要验证数组中的某些元素是否为真:

let check = this.selectedDays.some(function(element) {
if (element === true) {
return true;
} else {
return false;
}});

或:

let check = this.selectedDays.some(e => e === true);

最新更新