Vue VeeValidateプラグイン
サンプル
<div id=”app”>
<form>
<input v-validate=”‘required|max: 10′” data-vv-as=”氏名”
id=”name” name=”name” />
<p v-show=”errors.has(‘name’)”>{{ errors.first(‘name’) }}</p>
<input v-validate=”{numeric:true, between: [20, 60]}” data-vv-as=”年齢”
id=”age” name=”age” type=”number” />
<p v-show=”errors.has(‘age’)”>{{ errors.first(‘age’) }}</p>
<select v-validate=”‘included:men, women, other'” data-vv-as=”性別”
id=”sex” name=”sex” >
<option value=”men” selected>男</option>
<option value=”women”>女</option>
<option value=”other”>その他</option>
</select>
<p v-show=”errors.has(‘sex’)”>{{ errors.first(‘sex’) }}</p>
</form>
</div>
設定
ライブラリ
<script src=”https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js”></script>
<script src=”https://cdn.jsdelivr.net/npm/vee-validate@2.2.15/dist/vee-validate.js”></script>
<script src=”https://cdn.jsdelivr.net/npm/vee-validate@2.2.15/dist/locale/ja.js”></script>
プラグイン有効化
<script>
Vue.use(VeeValidate, {
locale: ‘ja’,
オプション
fastExit: false,
});
new Vue({
el: ‘#app’,
});
</script>
オプション
| オプション | 機能 | 規定値 |
|---|---|---|
| delay | 入力から検証開始までの遅延時間(ミリ秒) | 0 |
| dictionay | 検証メッセージ | null |
| fastExit | 1つの入力項目に複数のエラーがある場合の挙動 最初の1つ目のみ検出する |
true |
| events | 検証トリガーイベント | input |
| locale | 検証メッセージロケール | en |
属性
v-validate
検証ルールを設定
書き方
1. 文字列
v-validate =” ‘ included:男, 女, その他 ‘ ”
2. オブジェクト
v-validate =” { included: [男, 女, その他] } ”
data-XXX
| 属性 | 機能 | 備考 |
|---|---|---|
| data-vv-as | エラー表示に使われるフィールド名を設定 | name属性とは別にしたい場合に利用 |
| data-vv-name | 検証等に使われるフィールド名を設定 | name属性とは別にしたい場合に利用 |
| data-vv-delay | 検証までの時間を㍉秒で設定 |
検証ルール
| ルール | 機能 | 備考 |
|---|---|---|
| alpha | ||
| between:min, max | ||
| confirmed: target | targetと同じか | |
| date_format: format | ||
| digits: length | length桁の数時か | |
| included: list | ||
| max: length | ||
| min: length | ||
| max_value: value | ||
| min_value: value | ||
| numeric | ||
| regex: pattern | patternにマッチするか | |
| required | ||
| size: num | numキロbyte以下か | |
| url |
検証結果
| メソッド | 機能 | 備考 |
|---|---|---|
| errors.has(検証対象ID) | 検証対象エラー有無 | |
| errors.first(検証対象ID) | 検証対象先頭エラー取得 | |
| errors.collect(検証対象ID) | 検証対象全エラー取得 | |
| errors.all() | 全入力項目全エラー取得 |

