vue+elementUI用户修改密码的前端验证规则

 更新时间:2024年03月12日 10:37:16   作者:zj_zjk_sjz  
用户登录后修改密码,密码需要一定的验证规则,这篇文章主要介绍了vue+elementUI用户修改密码的前端验证,需要的朋友可以参考下

用户登录后修改密码,密码需要一定的验证规则。旧密码后端验证是否正确;前端验证新密码的规范性,新密码规范为:6-16位,至少含数字/字母/特殊字符中的两种;确认密码只需要验证与新密码是否一致;

弹窗结构

<el-dialog title="修改密码"
           :visible.sync="passDlgVisible"
           @close="passDlgClose"
           width="400px">
    <el-form :model="passForm"
             ref="passRef"
             :rules="passRules"
             hide-required-asterisk
             label-width="70px"
             size="small">
        <el-form-item label="旧密码" prop="oldPassword">
            <el-input v-model="passForm.oldPassword" show-password></el-input>
        </el-form-item>
        <el-form-item label="新密码" prop="newPassword">
            <el-input v-model="passForm.newPassword" show-password></el-input>
        </el-form-item>
        <el-form-item label="确认密码" prop="confirmPassword">
            <el-input v-model="passForm.confirmPassword" show-password></el-input>
        </el-form-item>
    </el-form>
    <span slot="footer">
            <el-button @click="passDlgVisible=false" size="small">取消</el-button>
            <el-button @click="passSave" type="primary" size="small">确认</el-button>
        </span>
</el-dialog>

form验证规则

passRules: {
	oldPassword:[{required: true, message: '请输入旧密码', trigger: 'blur'}],
    newPassword:[{validator: this.validNewPass, trigger: 'blur'}],
    confirmPassword:[{validator: this.validConfirmPass, trigger: 'blur'}]
}

验证函数

/**
 * 验证新密码
 */
validNewPass(rule, value, callback) {
    let reg = /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%^&*?]{6,16}$/
    if (value === '') {
        callback(new Error('请输入新密码'));
    } else if (!reg.test(value)) {
        callback(new Error('6-16位,至少含数字/字母/特殊字符中的两种'))
    } else {
        if (this.passForm.confirmPassword !== '') {
            this.$refs.passRef.validateField('confirmPassword');
        }
        callback();
    }
},
/**
 * 验证确认密码
 */
validConfirmPass(rule, value, callback) {
    if (value === '') {
        callback(new Error('请再次输入密码'));
    } else if (value !== this.passForm.newPassword) {
        callback(new Error('两次输入密码不一致!'));
    } else {
        callback();
    }
}

弹窗关闭后清空字段和验证

/**
 * 弹窗关闭事件
 */
passDlgClose() {
    this.passForm = {
        oldPassword: '',
        newPassword: '',
        confirmPassword: ''
    }
    this.$refs.passRef.clearValidate();
}

提交表单

passSave() {
    this.$refs.passRef.validate((valid) => {
        if (valid) {
            this.passForm.userName = this.userName
            api.user.editPass(this.passForm).then(res => {
                this.passDlgVisible = false;
            })
        } else {
            return false;
        }
    });
}

这就是修改密码的全部流程啦。。。。有问题评论区答复。。。。能解决的就答复,不能解决的自己百度哈。。。。

到此这篇关于vue+elementUI用户修改密码的前端验证规则的文章就介绍到这了,更多相关vue elementUI密码验证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue2.x版本中computed和watch的使用及关联和区别

    vue2.x版本中computed和watch的使用及关联和区别

    这篇文章主要介绍了vue2.x版本中computed和watch的使用及关联和区别,文章围绕主题展开详细的内容介绍,需要的小伙伴可以参考一下
    2022-07-07
  • vue执行配置选项npm run serve的本质图文详解

    vue执行配置选项npm run serve的本质图文详解

    本地开发一般通过执行npm run serve命令来启动项目,那这行命令到底存在什么魔法?下面这篇文章主要给大家介绍了关于vue执行配置选项npm run serve的本质的相关资料,需要的朋友可以参考下
    2023-05-05
  • Nginx部署Vue.js前端项目的实现

    Nginx部署Vue.js前端项目的实现

    本文主要介绍了Nginx部署Vue.js前端项目指南,帮助您实现从开发到线上部署的平滑过渡,确保用户能够获得最佳的访问体验,感兴趣的可以了解一下
    2024-09-09
  • 解决vue中数据更新视图不更新问题this.$set()方法

    解决vue中数据更新视图不更新问题this.$set()方法

    这篇文章主要介绍了解决vue中数据更新视图不更新问题this.$set()方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Vue v-bind动态绑定class实例方法

    Vue v-bind动态绑定class实例方法

    在本篇文章里小编给大家分享的是一篇关于Vue—v-bind动态绑定class的知识点内容,有需要的朋友们可以参考下。
    2020-01-01
  • Vue3.0使用ref和reactive来创建响应式数据

    Vue3.0使用ref和reactive来创建响应式数据

    ref 和 reactive 是 Composition API 中用来创建响应式数据的两个核心函数,在本篇文章中,我们将详细讲解如何使用 ref 和 reactive 来创建响应式数据,并展示它们之间的区别和使用场景,需要的朋友可以参考下
    2024-11-11
  • vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)

    vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)

    这篇文章主要介绍了vue vantUI实现文件(图片、文档、视频、音频)上传(多文件),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 关于vuex更新视图引发的一些思考详析

    关于vuex更新视图引发的一些思考详析

    我们在vuex中操作数据时遇见视图不更新的情况,下面这篇文章主要给大家介绍了关于vuex更新视图引发的一些思考,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 如何隐藏element-ui中tree懒加载叶子节点checkbox(分页懒加载效果)

    如何隐藏element-ui中tree懒加载叶子节点checkbox(分页懒加载效果)

    这篇文章主要介绍了如何隐藏element-ui中tree懒加载叶子节点checkbox(分页懒加载效果),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 如何在Vue3中创建动态主题切换功能

    如何在Vue3中创建动态主题切换功能

    在Vue3中实现动态主题切换功能,通过明亮和暗色主题的选择,提供个性化使用体验,使用setup语法糖优化代码,通过创建组件和响应式变量来进行主题切换,并动态加载CSS文件
    2024-09-09

最新评论