element-plus表单验证使用 个人总结

前言

表单验证能通过设置验证规则验证用户的输入,并对不规范的输入做出对应提示。element-plus(包括element-ui)都提供了表单验证功能。但官网上只有最基本的使用方法,详细使用需要参考async-validator,element-plus表单验证就是通过它实现的

Element-Plus-Form - 表单验证
async-validator - Git
async-validator - Gitee


一、表单验证基本使用

1、定义验证规则

baseRules: {
  name:[{ required: true, message: '请输入医生名称', trigger: 'blur' }],
  title: [{ required: true, message: '请选择职称', trigger: 'change' }],
  gender: [{ required: true, message: '请选择性别', trigger: 'change' }],
  hospital: [{ required: true, message: '请选择医院', trigger: 'change' }]
},

2、绑定 表单 与 Rules

<el-form :model="formData" :rules="baseRules" ref="baseForm"></el-form>

3、绑定 Item 与 Rule

上一步已经为表单绑定了规则列表baseRules,接下来,只需要在form-item中使用prop绑定验证规则即可

<el-form-item label="名称" prop="name"></el-form-item>

对应关系:
表单对象formData: { name: '' }
表单元素prop="name"
规则列表baseRules: { name: [{...}] }

4、示例

<template>
	<el-form :inline="true" :model="doctorDialogForm" size="small" :rules="baseRules" ref="baseForm">
		<el-form-item label="医生名称" prop="name">
	      <el-input v-model="doctorDialogForm.name"></el-input>
	    </el-form-item>
		<!-- ... -->
		<template #footer>
		  <span class="dialog-footer">
		    <el-button @click="cancelOperation()">取 消</el-button>
		    <el-button type="primary" @click="confirmOperation()">确 定</el-button>
		  </span>
		</template>
	</el-form>
</template>

<script>
export default {
  name: 'Doctor',
  data() {
    return {
		doctorDialogForm: {       // 模态框 - 医生信息
		  no: '',                 // 医生编号
		  name: '',               // 医生名称
		  title: '',              // 医生职称
		  gender: '',             // 性别
		  hospital: '',           // 所在医院
	
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 Vue3 中使用 Element Plus 进行验证,需要先安装 Element Plus 和 VeeValidate(Element Plus 依赖于 VeeValidate)。安装命令如下: ``` npm install element-plus vee-validate@next ``` 安装完成后,可以在 main.js 中引入并注册 Element Plus 和 VeeValidate: ```javascript import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' import VeeValidatePlugin from './plugins/vee-validate' import App from './App.vue' const app = createApp(App) app.use(ElementPlus) app.use(VeeValidatePlugin) app.mount('#app') ``` VeeValidate 需要在 plugin 中进行注册。可以先创建一个 plugins 文件夹,然后在其中创建一个 vee-validate.js 文件: ```javascript import { defineRule, configure } from 'vee-validate' import { required, email } from '@vee-validate/rules' export default { install: (app) => { // 配置 configure({ generateMessage: ({ field, rule }) => { const messages = { required: `${field}不能为空`, email: `${field}格式不正确` } return messages[rule] } }) // 定义规则 defineRule('required', required) defineRule('email', email) } } ``` 这里定义了两个规则:required 和 email。然后在组件中使用: ```html <template> <el-form :model="form" :rules="rules" ref="form" label-width="100px"> <el-form-item label="邮箱" prop="email"> <el-input v-model="form.email"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> </el-form-item> </el-form> </template> <script> import { reactive } from 'vue' import { useVeeValidate } from '@vee-validate/vue3' export default { setup() { const { form, handleSubmit, validate } = useVeeValidate({ initialValues: { email: '' } }) const rules = { email: 'required|email' } const submitForm = () => { validate().then((result) => { if (result.valid) { console.log('提交成功') } }) } return { form, rules, submitForm } } } </script> ``` 这里使用了 VeeValidate 提供的 useVeeValidate hook,它返回了一个 form 对象、handleSubmit 方法和 validate 方法。form 对象包含了的所有数据,handleSubmit 方法用于提交,validate 方法用于验证。rules 对象定义了验证规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值