VE валидировать работает только для первого поля? - PullRequest
1 голос
/ 17 апреля 2019

Я создал два мода (loginModal и registerModal), где пользователь может динамически переключаться между ними.

Существует проблема с плагином VeeValidate, он только проверяет первое поле, если я что-то добавилк пакету ошибок.

Я создал демо-версию этой проблемы здесь: https://2o2z51km00.codesandbox.io/ Источник: https://codesandbox.io/s/2o2z51km00

  1. Откройте loginModal (он откроется по умолчанию).
  2. Отправьте информацию для входа в систему по умолчанию (вы увидите сообщение «вы ввели неверные учетные данные»).
  3. Переключите для регистрации модального режима после просмотра этого сообщения.
  4. Отправить модальный регистр (с пустыми вводами)

Как видите, он выделяет только первое поле (поле полного имени), игнорируя другие поля.

Почемучто случилось?

1 Ответ

1 голос
/ 18 апреля 2019

После большого количества времени, проведенного, и не в курсе последних изменений в более поздних версиях с 2.1 до 2.2.3.

Проблема в том, что несколько модалов пытались использовать одни и те же имена. Это можно исправить с помощью областей, как я реализовал в развилке вашего проекта.

https://codesandbox.io/s/vv0jqprpj0

Таким образом, добавив также ввод:

data-vv-scope="SCOPE"

И используя это для проверки полей

this.$validator.validate('SCOPE.*')

Дополнительное замечание: вы использовали v-show в RegisterModal для отображения ошибок и v-if в LoginModal - правильно использовать v-if

...