Я пытаюсь проверить, что поле значения в объекте содержит электронное письмо. В массиве потенциально может быть много таких объектов. Когда я оцениваю, является ли он грязным, он говорит, что значение не определено. Валидация тоже вообще не работает. Я никогда раньше не проверял массив объектов, предполагая, что я неправильно обращаюсь к данным в массиве, но я не уверен
Пример объекта: значение будет содержать адрес электронной почты, который я пытаюсь проверить.
{
option: null,
Value: null,
Environment: null
}
Валидации:
validations: {
defaultFields: {
$each: {
Value: { email }
}
},
}
Пользовательская функция ошибки: это то, что вызывает ошибку в первом операторе If, но проверка в любом случае не работает
computed: {
emailErrors() {
const errors = [];
if (!this.$v.defaultFields.$each.Value.$dirty) return errors;
!this.$v.defaultFields.$each.Value.email && errors.push('You must enter a valid email');
return errors;
}
}
Это пример цикла и поля в цикле, которое я пытаюсь перебрать и проверить, что введенное является действительным адресом электронной почты.
<v-form>
<div v-for="(defaultField, defaultIndex) in defaultFields" v-bind:key="`${defaultIndex}-default`">
<v-text-field
@input="$v.defaultFields.$each[defaultIndex].Value.$touch()"
@blur="$v.defaultFields.$each[defaultIndex].Value.$touch()"
:error-messages="emailErrors(defaultIndex)"
id="value"
v-model="defaultField.Value"
label="Email Address"
type="email"
></v-text-field>
</div>
</v-form>