у меня есть переменные items (массив объектов) с 3 атрибутами для каждого элемента (value, other и otherKey), для каждого элемента поле значения обязательно, другое поле требуется только в том случае, если значение поля значения равно поле otherKey.
Посмотрите пример на jsfiddle
https://jsfiddle.net/dyquv3ek/5/
<code>// Template
<div id="app">
<div v-for="(item, i) in items" :key="i">
<input type="text" v-model="item.value"
@input="$v.items.$each[i].$touch"
:class="{error: $v.items.$each[i].value.$error}">
<input type="text" v-model="item.other"
@input="$v.items.$each[i].$touch"
:class="{error: $v.items.$each[i].other.$error}">
</div>
<pre>{{ $v }}
// Js
Vue.use (window.vuelidate.default)
const {обязательный} = window.validators
новое Vue ({
el: "#app",
данные: {
Предметы: [{
значение: «А»,
другое: «Б»,
otherKey: 'C'
}, {
значение: 'D',
другое: «Е»,
otherKey: 'F'
}, {
значение: «G»,
другое: «Н»,
otherKey: «Я»
}]
},
проверки: {
Предметы: {
$ каждый: {
значение: {обязательно},
other: {} // {обязательно}, только если значение === otherKey
}
}
}
})