Vue.js VeeValidateの固有メッセージを変更する

Vue.js VeeValidateの固有メッセージを変更する

こんにちは。ふっくんです。

Vue.jsのバリデーションライブラリ VeeValidate の固有メッセージを変更する方法を紹介します。

※既にVeeValidateを導入されている方を対象としています。 VeeValidateの導入方法などは本記事では紹介しません。 メッセージの日本語化についても本記事では紹介しません。

基本的なVeeValidateの使用方法の確認

入力フォームの必須チェックを例に見てます。

<input type="text" class="" v-model="emailAddress" name='email' v-validate="{ required: true }">

change a message of the veevalidate 1

v-validate="{ required: true }" で必須チェックが有効になります。 v-validate="'required'" でも可能です。

このように、要素の name属性の属性値 + requiredの固有メッセージ(は必須項目です) というメッセージが表示されます。 ※メッセージのデザインは独自のスタイルを適用しています。

name属性の属性値をそのまま表示せずに、任意のテキストに変更する場合は data-vv-as を使用します。

<input type="text" class="" v-model="emailAddress" name='email' v-validate="{ required: true }" data-vv-as="メールアドレス">

change a message of the veevalidate 2

ここまでが基本的なVeeValidateの使用方法です。

固有メッセージの変更方法

上記の例の場合 は必須項目ですrequired の固有メッセージとなります。 これを変更したい場合は以下のようにします。

import { Validator } from 'vee-validate'

const dict = {
  custom: {
    email: {
      required: 'メールアドレスが入力されていません'
    },
  }
}
Validator.localize('ja', dict)

change a message of the veevalidate 3

custom に対象となるルール名をキー、メッセージを値として定義してください。 そうすると、VeeValidateにデフォルトで定義されている固有のメッセージを上書きすることができます。

参考

Error Messages | VeeValidate

hiroki-Fukumoto