vee-validate 自定义验证规则不起作用
vee-validate Custom validation rules not working
版本:
- VueJs:2.2.6
- Vee-验证:^2.0.0-beta.25
描述:
我正在做一个项目,我用 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}"
问候本
版本:
- VueJs:2.2.6
- Vee-验证:^2.0.0-beta.25
描述:
我正在做一个项目,我用 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}"
问候本