Есть ли способ пройти проверку НЕ ТРЕБУЕМЫХ правил v-text-field? - PullRequest
0 голосов
/ 30 мая 2019

Я пытался проверить v-текстовое поле только для ввода номера, но оно не требуется , но правила запрещают проходить проверку.

Я использовал v-форму, v-текстовое поле и правила v-текстового поля.

<template>
  <v-form ref="form">
    <v-text-field
      v-model="name"
      :label="label"
      :rules="rules"
      @blur="changeValue"
      clearable
    ></v-text-field>
  <v-btn @click="send">submit</v-btn>
</v-form>
</template>

<script>
export default {
  data() {
    return {
      name: "",
      rules: [
        v =>
          v.length <= 50 || "maximum 50 characters",
        v =>
          (v.length > 0 && /^[0-9]+$/.test(v)) || "numbers only"
      ]
    };
  },
  methods: {
    changeValue(event) {
      this.$emit("changeValue", event.target.value);
    },
    send() {
      const valid = this.$refs["form"].validate(); // doesn't pass
      if (valid) {
        this.$store.dispatch("xxx", {
          ...
        });
      }
    }
  }
};
</script>

При нажатии кнопки отправки отображается сообщение об ошибке v-текстового поля, а valid равно false.

Нажмите X (значок очистки), сообщение об ошибке также отображается на консоли:

"TypeError: Cannot read property 'length' of null"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...