Проверка массива входных данных с помощью Vee-Validate (Vuejs) - PullRequest
1 голос
/ 19 марта 2019

работают следующие работы:

 <li :key="index" v-for="(...) in items">
    <input type="text" name="itemFields[]" v-validate="required">
 </li>

 // ...

<div class="vv-errors">
    <ul>
        // shows only for last active input
        <li v-for="error in errors.collect('itemFields[]')">{{ error }}</li>
    </ul>
</div>

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

Как добиться, чтобы сообщение об ошибке отображалось, если хотя бы один из входов пуст?

1 Ответ

1 голос
/ 19 марта 2019

На самом деле проблема, с которой вы сталкиваетесь, заключается в том, что поле имени одинаково для всех ваших входных данных и должно быть уникальным. Следовательно, при использовании v-for вы можете сделать что-то, как показано ниже:

 <div  v-for="i in 5" >
   <input type="text" :name="'email'+i" placeholder="Email" v-validate="'required|email'">
   <span class="error" v-if="errors.has('email'+i)">{{errors.first('email'+i)}} 
   </span>
  </div>

Вот базовый пример для решения вашей проблемы.

...