vue3自定义确认密码匹配验证规则的操作代码

 更新时间:2024年01月11日 12:00:00   作者:7.9  
这篇文章主要介绍了vue3自定义确认密码匹配验证规则的操作代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

vue3自定义确认密码匹配验证规则

// 自定义确认密码匹配验证规则
const matchPassword = (rules:any, value:any, callback:any) => {
	if (value != addData.payPwd) {
		callback(new Error('两次密码输入不一致!'))
	} else {
		callback()
	}
}
const rules = reactive({
  payPwd: [
    { required: true, message: "请输入支付密码", trigger: "blur" },
    {
      pattern: /^\d+$/,
      message: "只能输入6位数字",
      trigger: "blur",
    },
  ],
  repeatedPwd: [
    { required: true, message: "请输入支付密码", trigger: "blur" },
    {
      pattern: /^\d+$/,
      message: "只能输入6位数字",
      trigger: "blur",
    },
    {validator: matchPassword, trigger: 'blur'}
  ],
});
 <el-dialog
      v-model="AddDialog"
      title="新增会员"
      width="700px"
      @close="closeDialog"
    >
      <el-form
        ref="categoryFormRef"
        :model="addData"
        :rules="rules"
        label-width="120px"
      >
        <el-form-item label="支付密码" prop="payPwd">
          <el-input
            v-model="addData.payPwd"
            placeholder="请输入支付密码"
            show-password
            maxLength="6"
          />
        </el-form-item>
        <el-form-item label="确认支付密码" prop="repeatedPwd">
          <el-input
            v-model="addData.repeatedPwd"
            placeholder="请输入支付密码"
            show-password
            maxLength="6"
          />
        </el-form-item>
      </el-form>
      <template #footer> 
        <div class="dialog-footer">
          <el-button type="primary" @click="handleAdd">确 定</el-button>
          <el-button @click="closeDialog">取 消</el-button>
        </div>
      </template>
    </el-dialog>

扩展:

vue中表单使用自定义验证规则

vue中表单使用自定义验证规则(以2次输入密码为例)

先安装elementUI

yarn add element-ui

mian.js中引入elementUI

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

创建表单

<el-form ref="form" :model="form" :rules="rules">
     <el-form-item label="新密码" prop="newPwd">
          <el-input type="password" v-model="form.newPwd"></el-input>
     </el-form-item>
     <el-form-item label="确认密码" prop="confirmPwd">
          <el-input type="password" v-model="form.confirmPwd"></el-input>
     </el-form-item>
     <el-form-item>
          <el-button @click="confirmBtn">确认</el-button>
          <el-button @click="resetBtn">重置</el-button>
     </el-form-item>
</el-form>

定义数据及验证规则

data() {
     var checkPwd = (rule, value, callback) => {
          if (value === this.form.newPwd) {
                callback();
            } else {
                callback(new Error('两次输入密码不一致!'));
            }
        }
     return {
          form: {
                newPwd: '',
                confirmPwd: ''
            },
          rules: {
                newPwd: [
                    { required: true, message: '请输入密码', trigger: 'blur' },
                    { min: 6, max: 12, message: '长度在 6 到 12 个字符', trigger: 'blur' }
                ],
                confirmPwd: [
                    { required: true, message: '请再次输入密码', trigger: 'blur' },
                    { min: 6, max: 12, message: '长度在 6 到 12 个字符', trigger: 'blur' },
                    { validator: checkPwd, trigger: 'blur' }
                ]
            }
        }
    },

绑定操作按钮

methods: {
     //确认按钮
     confirmBtn() {
          this.$refs.form.validate(res => {
                if (res) {
                    console.log('修改成功');
                } else {
                    console.log('修改失败');
                    return false;
                }
            });
        },
     //重置按钮
     resetBtn() {
          this.$refs.form.resetFields();
        }
    }

到此这篇关于vue3自定义确认密码匹配验证规则的文章就介绍到这了,更多相关vue3自定义密码验证规则内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ant-design-vue导航菜单a-menu的使用解读

    ant-design-vue导航菜单a-menu的使用解读

    这篇文章主要介绍了ant-design-vue导航菜单a-menu的使用解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue中利用iscroll.js解决pc端滚动问题

    vue中利用iscroll.js解决pc端滚动问题

    这篇文章主要介绍了vue中利用iscroll.js解决pc端滚动问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Taro+vue3 实现电影切换列表功能

    Taro+vue3 实现电影切换列表功能

    我们做类似于猫眼电影的小程序或者H5 的时候 我们会做到那种 左右滑动的电影列表,这种列表一般带有电影场次,我这个项目是基于Taro +vue3 +ts 来写的用的组件库也是京东的nut-ui以上的代码和组件也有的是我二次封装的组件,对vue3电影切换列表知识,感兴趣的朋友一起看看吧
    2024-01-01
  • Vue2批量生成二维码并下载的实现步骤

    Vue2批量生成二维码并下载的实现步骤

    这篇文章主要介绍了在Vue2中使用qrcode、jszip和file-saver库批量生成二维码并打包下载的实现方法,通过异步处理和Promise.all确保完成,优化建议包括分批次处理和文件名规范,需要的朋友可以参考下
    2025-06-06
  • element tree树形组件回显数据问题解决

    element tree树形组件回显数据问题解决

    本文主要介绍了element tree树形组件回显数据问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • vue+element upload上传带参数的实例

    vue+element upload上传带参数的实例

    这篇文章主要介绍了vue+element upload上传带参数的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue项目设置打包后的静态文件访问路径

    vue项目设置打包后的静态文件访问路径

    这篇文章主要介绍了vue项目设置打包后的静态文件访问路径,vue项目的最终项目文件需要经过打包输出,静态文件的访问路径需要在vue.config.js文件中设置,本文给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • 用vue写一个日历

    用vue写一个日历

    这篇文章主要介绍了如何利用vue写一个日历,帮助大家更好的理解和学习vue,感兴趣的朋友可以了解下
    2020-11-11
  • Vue中使用echarts实现绘制人体动态图

    Vue中使用echarts实现绘制人体动态图

    这篇文章主要为大家详细介绍了Vue中如何使用echarts实现绘制人体动态图,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • vue拖拽添加的简单实现

    vue拖拽添加的简单实现

    本文主要介绍了vue拖拽添加的简单实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论