element-ui框架下修改密码弹窗进行表单验证。
除了基础校验,密码不为空,长度不小于6字符,需求中还需校验密码由数字和字母组合。
处理代码如下:
密码由数字和字母组合,且长度不少于6
rules: { newpwd: [ { required: true, message: "请输入新密码", trigger: "blur" }, { min: 6, message: "密码长度不小于6个字符", trigger: "blur" }, { validator: checkPwd, trigger: "blur" } // 自定义校验 ], oldpwd: [ { required: true, message: "请输入旧密码", trigger: "blur" }, { min: 6, message: "密码长度不小于6个字符", trigger: "blur" } ] },
自定义校验
在export default下 data方法中:
尝试了多个正则,例如: /^[a-zA-Z0-9_]$/; /[\W]/g等均无效~
最后取下面的。
var checkPwd = (rule, value, callback) => { var reg = /^[a-zA-Z0-9]*(([a-zA-Z]+[0-9]+)|([0-9]+[a-zA-Z]+))[a-zA-Z0-9]*$/; if (value) { if (!reg.test(value)) { return callback(new Error("密码必须由数字和字母组合成")); } else { callback(); } } };