目次

VeeValidate

使用例

基本

v-validate="{
    required: true, // 必須
    regex: /^[a-zA-Z0-9_\-]*$/ // 正規表現(万能)
}"

文字入力

v-validate="{
    min: 0, // 最小文字数
    max: 100 // 最大文字数
}"

数値入力

v-validate="{
    min_value: 0, // 最小値
    max_value: 100, // 最大値
    decimal: 0, // 小数点の許容範囲っぽい?
    integer: 0 // int型許容?
}"

URL

オプション

v-validate="{
    max: 2048, // URLの最大値がこのくらいだとか
    url: {
        required_protocol: true
    }
}"

メソッド内での使用

import { Validator } from 'vee-validate'

const result = await new Validator().verify('test', 'max:3')

if (result.errors.length !== 0) {
  // Error
}
import { ErrorBag } from 'vee-validate'

new ErrorBag().add({
  field: 'auth',
  msg: 'Wrong Credentials'
})

競合

<b-field>
  <input
    required
    v-validate="{
      required: true
    }"
  >
  <span>
    {{ errors.first('XXX') }}
  </span>
  ...
  ...
  ...
  <input
    required
    v-validate="{
      required: true
    }"
  >
  <span>
    {{ errors.first('XXX') }}
  </span>
</b-field>
1)
『VeeValidate』, https://vee-validate.logaretm.com/v2/, 2021-08-23
2)
『Validator API』, VeeValidate, https://vee-validate.logaretm.com/v2/api/validator.html, 2021-08-23
3)
『ErrorBag』, VeeValidate, https://vee-validate.logaretm.com/v2/api/errorbag.html, 2021-08-23