点击登录按钮先检测输入框的规则检测(vue组合式)

embedded/2024/11/15 5:41:34/
javascript"><template><el-form :model="user" :rules="rules" ref="loginForm" label-width="auto" style="max-width: 600px"><el-form-item label="用户名" prop="name"><el-input v-model="user.name" id="name" placeholder="请输入用户名" /></el-form-item><el-form-item label="密码" prop="pass"><el-input v-model="user.pass" id="pass" placeholder="请输入密码" /></el-form-item><el-form-item><el-button type="primary" @click="onSubmit">登录</el-button></el-form-item></el-form>
</template><script lang="ts" setup>
import { ref, reactive } from 'vue'
import { ElMessage } from 'element-plus'// 响应式的对象
const user = reactive({name: '',pass: '',
})// 设置验证规则
const rules = {name: [{ required: true, message: '请输入用户名', trigger: 'blur' },{ min: 3, max: 30, message: '长度在 3 到 30 个字符', trigger: 'blur' },],pass: [{ required: true, message: '请输入密码', trigger: 'blur' }],
}// 创建对表单的引用
const loginForm = ref(null)// 点击登录按钮的时候,验证是否满足rules规则
const onSubmit = () => {if (loginForm.value) {loginForm.value.validate((valid: boolean) => {if (valid) {// 表单验证通过,执行登录逻辑console.log(user)ElMessage.success('登录成功')} else {// 表单验证未通过,显示错误信息ElMessage.error('请检查输入的内容')return false}})}
}
</script>

解释

  1. 创建响应式对象

    • 使用 reactive 创建响应式的 user 对象。
    • 使用 ref 创建对表单的引用 loginForm
  2. 设置验证规则

    • 定义 rules 对象,包含用户名和密码的验证规则。
  3. 模板中使用 ref 属性

    • <el-form> 元素上使用 ref="loginForm",将其引用注册到 loginForm
  4. onSubmit 方法

    • onSubmit 方法中,通过 loginForm.value 访问表单,并调用 validate 方法验证表单。
    • validate 方法执行后,传递一个布尔值 valid 到回调函数中。如果 validtrue,则表示表单验证通过;否则,显示错误消息。
  5. 显示消息

    • 使用 ElMessage 显示成功或失败的消息。(ElMessage是EleMent Plus提供的信息组件)

http://www.ppmy.cn/embedded/43290.html

相关文章

GoldenEye-v1(vulnhub)靶机练习实践报告

GoldenEye-v1****靶机练习实践报告 一、安装靶机 靶机是.ova文件&#xff0c;需要用VirtualBox打开&#xff0c;但我习惯于使用VMWare,因此修改靶机文件&#xff0c;使其适用于VMWare打开。 解压ova文件&#xff0c;得到.ovf文件和.vmdk文件。 用记事本打开.ovf文件并修改“…

[Halcon学习笔记]Halcon窗口进行等比例显示图像

目录 需求分析Halcon显示原理显示实现具体实现Halcon代码 需求分析 在使用Halcon加载图像时&#xff0c;点击Halcon的适应窗口&#xff0c;图像都会按照窗口大小对图像进行拉伸后显示&#xff0c;实际项目中&#xff0c;需要等比例显示图像&#xff0c;体现图像原本的尺寸细节…

Marvelous Designer12 解锁版安装教程 (3D服装设计软件)

前言 Marvelous Designer允许您使用我们的尖端设计软件创建美丽的3D虚拟服装。最后&#xff0c;使用工具在提高质量的同时节省时间&#xff0c;为您的设计注入活力。从基本衬衫到复杂的褶皱连衣裙和粗糙的制服&#xff0c;Marvelous Designer几乎可以将织物纹理和物理特性复制…

idea中快速找到当前git地址

idea中快速找到当前git地址 然后双击就可以看到地址了

他用AI,抄袭了我的AI作品

《大话西游》里面有一句经典台词&#xff1a;每个人都有一个妈&#xff0c;但是“你妈就一定是你妈吗&#xff1f;” 用AI创作的艺术作品&#xff0c;也走进类似的困境&#xff1a;如何证明你用AI生成的作品&#xff0c;就是你的作品&#xff1f; 近日&#xff0c;腾讯科技独…

Kotlin基础之面向对象编程

1. 类与对象 介绍 类&#xff1a;类是对象的蓝图或模板&#xff0c;它定义了对象的属性和方法。对象&#xff1a;对象是类的实例&#xff0c;具有类的属性和方法。 使用 // 定义一个类 class Person { var name: String "" var age: Int 0 // 方法 fun introdu…

WebGL学习(一)渲染关系

学习webgl 开发理解渲染关系是必须的&#xff0c;也非常重要&#xff0c;很多人忽视了这个过程。 我这里先简单写一下&#xff0c;后面尽量用通俗易懂的方式&#xff0c;举例讲解。 WebGL&#xff0c;全称Web Graphics Library&#xff0c;是一种在网页上渲染3D图形的技术。它…

无人驾驶试点——守住安全底线

最近&#xff0c;自动驾驶“无人化商业运营”话题很热。 先是北京亦庄自动驾驶出租车迎来无人化商业试点&#xff0c;将安全员从主驾移到了副驾。接着《深圳经济特区智能网联汽车管理条例》施行&#xff0c;明确了不同级别自动驾驶事故&#xff0c;特别是无人驾驶的责任主体。…