第一种方式 利用表单验证验证
// 表单校验
rules: {
password: [
{
required: true,
message: "登录密码不能为空",
trigger: "blur",
},
{
required: true,
message: "密码应由8-16位数字、大小写字母、符号组成",
pattern:
/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!#@*&.])[a-zA-Z\d!#@*&.]{8,16}$/,
},
]
}
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item
v-if="form.userId == undefined"
label="登录密码"
prop="password"
>
<el-input
v-model="form.password"
placeholder="请输入登录密码"
type="password"
/>
</el-form-item>
</el-form>
提交的时候进行表单校验
/** 提交按钮 */
submitForm: function () {
this.$refs.form.validate((valid) => {
if (valid) {
if (this.form.userId !== undefined) {
updateUser(this.form).then((response) => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addUser(this.form).then((response) => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
第二种方式 直接用正则表达式验证
this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
})
.then(({ value }) => {
var testPassword =
/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!#@*&.])[a-zA-Z\d!#@*&.]{8,16}$/;
if (testPassword.test(value) === false) {
this.msgError("密码应由8-16位数字、大小写字母、符号组成");
this.handleResetPwd(row);
} else {
resetUserPwd(row.userId, value).then((response) => {
this.msgSuccess("修改成功,新密码是:" + value);
});
}
})
.catch(() => {});

218

被折叠的 条评论
为什么被折叠?



