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

Vue在表单校验中trigger属性指定何时触发校验规则

Vue在表单校验中trigger属性指定何时触发校验规则

    • 一、前言
    • 1.示例代码


一、前言

在表单校验中,trigger 属性用于指定何时触发校验规则。常见的触发方式包括 "change""blur". 它们的区别如下:

  1. trigger: "change":

    • 触发时机: 当表单控件的值发生变化时触发校验。
    • 应用场景: 适用于需要在用户每次输入时实时校验的情况,比如动态提示用户输入是否符合要求。
    • 例子:
      rules: {username: [{ required: true, message: '用户名不能为空', trigger: 'change' }]
      }
      
    • 优点: 提供即时反馈,用户体验更好。
    • 缺点: 如果表单控件很多,可能会导致性能下降。
  2. trigger: "blur":

    • 触发时机: 当表单控件失去焦点时触发校验。
    • 应用场景: 适用于在用户完成输入后进行校验的情况,比如在用户输入完一个字段并移到下一个字段时进行校验。
    • 例子:
      rules: {email: [{ type: 'email', message: '请输入有效的邮箱地址', trigger: 'blur' }]
      }
      
    • 优点: 减少不必要的校验,提升性能。
    • 缺点: 用户只有在离开输入框后才能看到校验结果,反馈不如 change 即时。

1.示例代码

以下是一个包含两种触发方式的示例:

<template><el-form :model="formData" :rules="rules" ref="form"><el-form-item label="用户名" prop="username"><el-input v-model="formData.username"></el-input></el-form-item><el-form-item label="邮箱" prop="email"><el-input v-model="formData.email"></el-input></el-form-item><el-button type="primary" @click="submitForm">提交</el-button></el-form>
</template><script>
export default {data() {return {formData: {username: '',email: ''},rules: {username: [{ required: true, message: '用户名不能为空', trigger: 'change' }],email: [{ type: 'email', message: '请输入有效的邮箱地址', trigger: 'blur' }]}};},methods: {submitForm() {this.$refs.form.validate((valid) => {if (valid) {console.log('表单提交成功');} else {console.log('表单校验失败');return false;}});}}
};
</script>

在这个示例中,username 字段使用 trigger: 'change' 进行校验,即每次输入变化时都会触发校验;email 字段使用 trigger: 'blur' 进行校验,即在输入框失去焦点时才触发校验。

http://www.lryc.cn/news/377471.html

相关文章:

  • 【多线程实例】
  • 数据治理在数据提取中的角色:确保数据质量和安全
  • Nuxt快速学习开发 - Nuxt3静态资源Assets
  • 为什么企业需要数据挖掘平台?哪个比较好呢?
  • leetCode-hot100-链表专题
  • 【ai】tx2-nx:配置tritonserver2.17.0-jetpack4.6 环境并运行例子
  • Spring和Spring Boot常用注解介绍及使用
  • 【计算机毕业设计】211校园约拍微信小程序
  • 笨蛋学算法之LeetCodeHot100_1_两数之和(Java)
  • 用ip link add link命令创建vlan子设备
  • AD复用布局布线
  • 【深度学习驱动流体力学】采集OpenFOAM仿真的流体力学数据送入到强化学习DQN模型训练
  • 国内公开数据
  • QT QByteArray 的用法
  • InPixio Photo Cutter v10 解锁版安装教程 (懒人抠图工具)
  • Java17 --- SpringSecurity之OAuth2
  • 服务器上线的一些事
  • OceanBase-docker安装、连接数据库、修改mysql用户密码
  • 浪潮(Inspur)服务器硬件监控指标解读
  • 极简opencv操作xml文件
  • 更换域名流程记录
  • CSS 实现电影信息卡片
  • Skype机器人
  • 海外仓系统能解决海外仓哪些难题?海外仓标准化管理实用指南
  • 从零开始精通Onvif之录像存储
  • vue3面试题八股集合——2024
  • 第2章 Rust初体验5/8:match表达式和模式匹配:更富表达力:猜骰子冷热游戏
  • 1台UG图形工作站实现5-7人共享使用
  • Dubbo 3.x源码(22)—Dubbo服务引用源码(5)服务引用bean的获取以及懒加载原理
  • nodejs——原型链污染