vee-validate 自定义验证规则不起作用

vee-validate Custom validation rules not working

版本:

描述:

我正在做一个项目,我用 laravel-vue-starter 作为基本模板。

我想对密码使用自定义验证。所以我用代码创建了一个 resources\assets\js\validators\passwordValidators.js 文件:

import { Validator } from 'vee-validate';

Validator.extend('password', {
    getMessage: field => 'Insert a strong password, it should contain Uppercase letter, lowercase letter, number and special character',
    validate: value => /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.[\W]).{8,}$/.test(value)
});

但是当我添加v-validate="'password'" 它产生一个错误[vee-validate] No such validator 'password' exists

我们将不胜感激。

我认为答案很简单,您现在使用的是规则名称 'password',但您的规则是密码。

所以在您的标记(字符串表示法)中试试这个,删除单引号。

v-validate = "password"

或者当你有超过 1 个和复杂的规则时,你也可以使用对象表示法。

v-validate = "{password: true}"

问候本