当前位置: 首页 > article >正文

Vue中的自定义参数校验

目录

1 前言

2 方法

2.1 定义校验函数

2.2 进行绑定


1 前言

在Vue中,自带了许多校验方法,但是有时候需要我们自定义一些校验方法,才能满足实际的需求。现在举个例子,我们从这个例子来讲解自定义参数校验。

我们要提供修改密码的功能,因此有如下数据:

const passwordData = ref({
    old_pwd: '',    //旧密码
    new_pwd: '',    //新密码
    re_pwd: ''       //确认密码
})

现在我们要为这三个参数提供校验,旧密码和新密码的长度和非空要求都可以通过自带的校验实现,但是要校验旧密码和新密码是否一致则需要自定义校验,具体操作如下。

2 方法

2.1 定义校验函数

模板如下:

//value是校验参数本身的值
//rule和callback同样是必须的
const 函数名 = function (rule, value, callback) {
    //xxx和yyy为提示信息
    //条件可以有很多个
    if (条件1) {
        callback(new Error('xxx'))
    } else if (条件2) {
        callback(new Error('yyy'))
    } else {
        //校验通过返回这个,其它均为校验不通过的情况
        callback()
    }
}

根据模板我们可以得到:

const checkRePassword = function (rule, value, callback) {
    if (value === '') {
        //保证非空
        callback(new Error('请再次确认密码'))
    } else if (value !== passwordData.value.new_pwd) {
        //保证一致
        callback(new Error('请确保两次输入的密码一样'))
    } else {
        callback()
    }
}

2.2 进行绑定

我们可以在rules中,可以通过validator:xxx,为参数绑定我们自定义的规则:

const rules = {
    //其它...
    re_pwd: [
        { validator: checkRePassword, trigger: 'blur' }
    ]
}

http://www.kler.cn/a/232014.html

相关文章:

  • 【动手学电机驱动】 STM32-FOC(7)MCSDK Pilot 上位机控制与调试
  • CSS Modules中的 :global
  • 思源笔记 Creating group siyuan (1000) permission denied (are you root?)
  • 信息收集—JS框架识别泄露提取API接口泄露FUZZ爬虫插件项目
  • 金融领域先锋!海云安成功入选2024年人工智能先锋案例集
  • 跟我学C++中级篇——Design Patterns的通俗说法
  • cesium mapboxgl+threebox glb 朝向问题
  • 跨境电商新风潮:充分发挥海外云手机的威力
  • LeetCode、62.不同路径的数目(一)【简单,动态规划或递归】
  • 零售新业态,让老牧区焕发新生命
  • 【服务器数据恢复】HP EVA虚拟化磁盘阵列数据恢复原理方案
  • SpringBoot之事务源码解析
  • 使用网关过滤器,根据业务规则实现微服务动态路由
  • Java并发基础:LinkedTransferQueue全面解析!
  • Maven私服部署与JAR文件本地安装
  • 相机图像质量研究(10)常见问题总结:光学结构对成像的影响--光圈
  • Office恢复旧UI|Office UI问题|Word UI|小喇叭找不到
  • 《动手学深度学习(PyTorch版)》笔记7.2
  • Vue3.0(五):Vue-Router 4.x详解
  • 推动海外云手机发展的几个因素
  • 前端开发之deepmerge的使用和示例(对象的深度合并)
  • Docker-Learn(二)保存、导入、使用Docker镜像
  • ChatGPT 3.5与4.0:深入解析技术进步与性能提升的关键数据
  • 3分钟带你了解Vue3的nextTick()
  • LabVIEW网络测控系统
  • jsp康养小镇管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目