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 только знакомлюсь. Возможно, она не работает с циклами? Как было бы правильнее указать условие в таком случае?


Ответы (0 шт):