@beduin01

Как настроить валидацию формы (Vue, Element)?

Код на 90% совпадает с примером из документации

https://jsfiddle.net/st56h3ky/

Разница лишь в том, что у меня добавлен новый уровень вложенности. А именно dynamicValidateForm вложен в MainForm.

Однако я получаю ошибку Cannot read property 'domains' of undefined.
Задача простая - выполнить валидацию вложенного объекта.

Если убрать вложенность MainForm то все работает, но мне нужно именно с ней.

Подозреваю, что проблема где-то тут: :prop="'domains.' + index + '.value'".
  • Вопрос задан
  • 1234 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Вместо :model="MainForm" должно быть :model="MainForm.dynamicValidateForm".

А :rules="rules" замените на :rules="rules.value".

UPD. Вынесено из комментариев:

а могу я сослаться :model="MainForm" в главной форме, а в props передать dynamicValidateForm

Нет проблем:

:prop="`dynamicValidateForm.domains.${index}.value`"
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
У тебя в проекте весь этот код в формате .vue? Если да то data должна быть функцией, а не обьектом
Ответ написан
@PloAl
Внутри data не должно быть объектов иначе они не будут реактивными, т.е. изменения объектов внутри data в vue не отслеживается.
Могут быть массивы, но и с массивами есть ограничения, не все методы массивов отслеживаются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы