Вы можете использовать это вместо:
<template v-for="(errors, outerIndex) in validationErrors">
<li v-for="(error, index) in errors" :key="outerIndex + '-' + index">
{{ error }}
</li>
</template>
Пояснение
Без уникальной информации от внешней l oop, внутренняя клавиша l oop будет использовать один и тот же набор каждый раз так что в итоге вы получите дубликаты. Ex. если бы у вас было два внешних цикла по 3 элемента в каждом, вы получили бы:
<li key="0">...</li>
<li key="1">...</li>
<li key="2">...</li>
<li key="0">...</li>
<li key="1">...</li>
<li key="2">...</li>
Используя outerIndex
, вы сохраняете уникальность во внутренних элементах:
<li key="0-0">...</li>
<li key="0-1">...</li>
<li key="0-2">...</li>
<li key="1-0">...</li>
<li key="1-1">...</li>
<li key="1-2">...</li>