Vue.jsのライブラリのVeeValidateを使用した際、バリデーションのタイミングを調整したいということがあったので、設定方法をメモ。
今回はNuxt.jsの環境で使用しています。
設定方法
設定としては以下の4種類があります。
aggressive | ユーザーの入力中に発火。 |
---|---|
passive | フォーム送信時に発火。 |
lazy | フォーカスを外した時に発火。 |
eager | 初回入力時は発火せず、フォーカスを外した時と2回目以降の入力時に発火。 |
グローバルに設定したい場合、setInteractionMode関数を使用します。
Nuxt.jsの場合、/plugins/vee-validate.jsで下記を追加します。
import { setInteractionMode } from 'vee-validate'; setInteractionMode('eager');
個別に設定したい場合、ValidationProviderのmodeプロパティに設定します。
<ValidationProvider mode="eager" rules="required" v-slot="{ errors }"> <!-- Some input --> </ValidationProvider>
コメントが承認されるまで時間がかかります。