Regex в атрибуте Vue v-validate - PullRequest
       8

Regex в атрибуте Vue v-validate

0 голосов
/ 26 февраля 2019

Я хотел бы разрешить тире / дефис в поле имени

<input v-model="$parent.teacher.firstName" v-validate="'required|alpha|min:2'"
                           placeholder="Eva" class="bw" type="text" name="firstname"
                           autocomplete="teacher-firstname"/>

Как это сделать?Я пытался добавить регулярное выражение, например, '^ [az] + (- [az] +) * $' в v-validate, но ничего не происходит

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы можете создать собственное правило

Примерно так:

import { Validator } from 'vee-validate';

Validator.extend('name', {
  getMessage: field => 'The ' + field + ' value is not a valid name.',
  validate: value => value.test(/^[a-z]+(-[a-z]+)*$/)
});
0 голосов
/ 26 февраля 2019

Возможно, вы захотите изменить alpha на alpha_dash.

Вы можете установить регулярное выражение, используя v-validate="{ required: true, regex: /^[a-z]+(?:-[a-z]+)*$/i, min: 2 }":

<input v-model="$parent.teacher.firstName"
  v-validate="{ required: true, regex: /^[a-z]+(?:-[a-z]+)*$/i, min: 2 }" 
  placeholder="Eva" class="bw" type="text" name="firstname" autocomplete="teacher-firstname">

См. соответствующая документация .

...