我正在开展一个项目,我使用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
任何帮助将不胜感激。
答案 0 :(得分:3)
我认为答案很简单,您现在使用的是规则名称“密码”,但您的规则是密码。
所以在你的标记中尝试这个(字符串表示法),删除单引号。
v-validate = "password"
或者当你有超过1和复杂的规则时,你也可以使用对象表示法。
v-validate = "{password: true}"
关心Ben