Vuelidate, custom-проверка не срабатывает
Нужно сделать проверку на уникальность логина через Vuelidate. Используется store. Пример массива с пользователями:
"users": [
{
"logIn": "vanya"
},
{
"logIn": "vasya"
},
{
"logIn": "petya"
}
Кроме логинов имеются и другие параметры, но они не играют никакой роли для проверки.
Код кастомной проверки:
export function checkLoginUnique(value) {
for(let i = 0; i < this.$store.state.users.length; i++) {
if(value !== this.$store.state.users[i].logIn) {
return true
}
return false
}
}
Проверка непосредственно в template:
<p class="invalid-feedback" v-if="$v.userInfo.logIn.$dirty && !$v.userInfo.logIn.isUnique">This login is already taken</p>
Проблема возникает в том, что проверка идет не далее первого элемента массива с пользователями. На нем проверка отрабатывает, на последующих нет. Со Vuelidate только знакомлюсь. Возможно, она не работает с циклами? Как было бы правильнее указать условие в таком случае?