0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Vue,Vuetify】formのバリデーションチェック

Posted at

Vueのformでのバリデーションチェックの仕方

  • 基本的なバリデーションの実装
    Vuetifyでは、rulesプロパティにバリデーション関数を設定することで、入力値のチェックを行うことができます。例えば、必須入力のバリデーションは以下のように定義できます。
<v-text-field
  label="項目"
  v-model="form.itemName"
  :rules="[requiredValidation, limitLengthValidation]"
  :counter="maxLength"
></v-text-field>

バリデーション関数はdata内で定義します。

data() {
  const maxLength = 64;
  return {
    maxLength,
    requiredValidation: (value) => !!value || '必ず入力してください',
    limitLengthValidation: (value) =>
      !value || value.length <= maxLength || `${maxLength}文字以内で入力してください`,
  };
}

  • URLのバリデーション
    URL入力欄では、文字数制限と正規表現を使ったバリデーションを組み合わせることができます。
<v-text-field
  label="URL"
  v-model="form.link"
  :rules="[limitUrlLengthValidation, urlPatternValidation]"
  counter="1024"
></v-text-field>
data() {
  return {
    limitUrlLengthValidation: (value) =>
      !value || value.length <= 1024 || `1024文字以内で入力してください`,
    urlPatternValidation: (value) =>
      !value || value.match(/^https?:\/\/[\w!?/+\-_~;.,*&@#$%()'[\]]+/) || 'URLを入力してください',
  };
}

rulesプロパティを活用することで、簡単にバリデーションを実装できます。
必須チェック、文字数制限、正規表現チェックを組み合わせることで柔軟なバリデーションが可能になります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?