Пропуск проверки в некоторых случаях в Vee-Validate 3.0 с помощью ValidationProvider

У меня есть настраиваемый компонент ввода текста, который я завернул в провайдер проверки.

В основном это выглядит так:

<validation-provider :rules="rules"
                     :vid="vid"
                     :name="name"
                     v-slot="{ errors, classes }"
                     slim>
  <div class="base-text-box"> ... </div>
</validation-provider>

Иногда мне нужно его подтвердить, но в некоторых случаях мне это не нужно. Если мне не нужна проверка, я не пропускаю правила.

Но как я могу отключить поставщика, если мне не нужно проверять мой компонент? Не удалось найти связанное свойство в документах.


person Victor    schedule 15.10.2019    source источник
comment
просто сделайте rules строку пустой. нет правил - нет проверки - нет ошибок   -  person Barabas    schedule 16.10.2019
comment
также вы можете передавать правила как объект, а не как строку. в этом случае правила выглядят как { required: true, email: true }, а затем вы можете манипулировать некоторыми правилами, просто переключая значение true-false. в этом случае вам нужно создать переменную, например isRequired, и передать ее вашему компоненту   -  person Barabas    schedule 16.10.2019
comment
Пытался передать правила как 1) undefined 2) null 3) пустая строка, во всех случаях ввод получает допустимый класс в случае события выхода фокуса .. :(   -  person Victor    schedule 16.10.2019
comment
это истинное поведение ... Я не написал правил - без проверки - без ошибок. вот почему ввод действителен, когда вы передаете пустой rules. это ваш случай, поскольку вы писали, отключите поставщика, когда мне не нужно проверять. если хотите еще логики, поясните, пожалуйста. возможно, вы можете поиграться с построением :class={'invalid': errors.length} из div вместо использования classes внутри v-slot объекта.   -  person Barabas    schedule 17.10.2019


Ответы (1)


Это тоже взбудоражило мой мозг. Решение состоит в том, чтобы установить пассивный режим.

Вы также можете установить режим на функцию, если вам нужна большая гибкость. https://logaretm.github.io/vee-validate/guide/interaction-and-ux.html#interaction-modes

<ValidationProvider mode="passive" rules="required" v-slot="{ errors }">
  <!-- Some input -->
</ValidationProvider>
person ArniqueMK    schedule 13.05.2020