以下の内容はhttps://y-ni-shi.hatenablog.com/entry/2020/02/11/234814より取得しました。


VueValidateのVer3を使う

VueValidate

Inputフォームなどのユーザー入力のバリデーションをやってくれるライブラリのようです。

Ver3

Qiitaの記事とかで見つけたのですが、
そのときの記事はVer2系だったようで、Ver3では随分と書き方が変わっているようで、メモしておきます

インストール

logaretm.github.io

yarn add vee-validate

Vueへの登録

import { ValidationProvider } from 'vee-validate';

export default {
  components: {
    ValidationProvider
  }
};

このように、コンポーネントとしてimportします。(helloWorld.vueなどで個別にインポートする)
単一ファイルコンポーネントそれぞれ使うタイミングでインポートすればOKということのようです。(これが公式推奨)

しかしながら、自分はグローバルにimportしました。

import { ValidationProvider } from 'vee-validate';

Vue.component('ValidationProvider', ValidationProvider);

これをmain.jsに記載しました。

ルールのインポート

ルールはデフォルトでは何もインポートされていません。
必要なルールだけを必要なだけインポートするようです(容量を小さく抑えるための施策のようです)

import { extend } from 'vee-validate';
import { required, email } from 'vee-validate/dist/rules';

// No message specified.
extend('email', email);

// Override the default message.
extend('required', {
  ...required,
  message: 'This field is required'
});

使い方というと、

<ValidationProvider name="email" rules="required|email" v-slot="{ errors }">
  <input v-model="email" type="text">
  <span>{{ errors[0] }}</span>
</ValidationProvider>

このように、importしたコンポーネントinputを囲うように使用します。
これでemailのルールが適用されます。

非常に便利




以上の内容はhttps://y-ni-shi.hatenablog.com/entry/2020/02/11/234814より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14