Я пытаюсь проверить динамически добавленное поле ввода. Всякий раз, когда у меня есть только одна строка входных данных для проверки, она отлично работает.
Однако всякий раз, когда я добавляю строку, проверка проверяет как первую строку, так и добавленную строку, а не проверяет каждую строку по отдельности. Это проблемный случай.
Пример проблемного случая:
Документы предлагают указать уникальный идентификатор для :key, однако, даже после добавления поля уникального идентификатора я вижу проблему.
Вот мой код для генерации входных данных
<!-- Generate input fields and v-model -->
<tr v-for = "(row, rowIndex) in dataFields" :key = "row.id">
<td v-for = "(fieldName, fieldNameIndex) in fieldNames" :key = "fieldNameIndex">
<!-- create first row and add valdiation -->
<input
type = "text"
class = "input-style"
v-model = "dataFields[rowIndex][fieldName]"
v-validate.initial = "'required'"
:name = "fieldName"
>
<br>
<span> errors.first(fieldName)}}</span>
А вот и полная демонстрация проблемы: https://codesandbox.io/s/vue-template-rtjj9?fontsize=14
Как я могу добавить проверку к каждой динамически добавляемой строке?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете добавить rowIndex к имени, чтобы сделать их разными
<tr v-for = "(row, rowIndex) in dataFields" :key = "row.id">
<td v-for = "(fieldName, fieldNameIndex) in fieldNames" :key = "fieldNameIndex">
<!-- create first row and add valdiation -->
<input
type = "text"
class = "input-style"
v-model = "dataFields[rowIndex][fieldName]"
v-validate.initial = "'required'"
:name = "fieldName + rowIndex"
:data-vv-as = "fieldName"
>
<br>
<span @click = "clicky()">{{errors.first(fieldName + rowIndex)}}</span>
</td>
</tr>
Обратите внимание, что вы можете использовать data-vv-as для настройки поля имени в сообщении проверки.