Nuxt.js × VeeValidate でカスタムルールを作成する

プログラミング
この記事は約2分で読めます。

少々はまったので書いておきます。

前提として、プラグインとして VeeValidate を読み込む場合です。

スポンサーリンク

カスタムルール作成

plugins/vee-validate.js

引数なしの場合

import Vue from 'vue'
import VeeValidate, { Validator } from 'vee-validate'
import ja from 'vee-validate/dist/locale/ja'

Vue.use(VeeValidate)
Validator.localize('ja', ja)

/*
** カスタムルール
*/
Validator.extend('hoge', {
  getMessage: (field) => `${field}がエラーです`,
  validate: (value) => value === 'hoge'
})

呼び出し方

.vue ファイル内のテンプレートにて

v-validate="{ hoge: true }"

引数ありの場合

import Vue from 'vue'
import VeeValidate, { Validator } from 'vee-validate'
import ja from 'vee-validate/dist/locale/ja'

Vue.use(VeeValidate)
Validator.localize('ja', ja)

/*
** カスタムルール
*/
Validator.extend('max_array', {
  getMessage: (field, length) => `${field}は${length}個以内にしてください`,
  validate: (value, length) => value.length <= length
})

呼び出し方

.vue ファイル内のテンプレートにて

v-validate="{ max_array: 10}"

 

コメント

タイトルとURLをコピーしました