如何Vue.js 结合 Element UI 进行表单验证

Vue.js 结合 Element UI 进行表单验证是一个常见的做法。Element UI 提供了一套丰富的表单组件,并内置了表单验证功能。以下是一个简单的示例,展示如何使用 Vue 和 Element UI 进行表单验证:

首先,确保你已经安装了 Vue 和 Element UI。你可以通过 npm 或 yarn 进行安装:

bash     复制
npm install vue
npm install element-ui


或者

bash
复制
yarn add vue
yarn add element-ui


然后,在你的 Vue 组件中引入 Element UI 的相关组件和样式:

javascript
复制
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);


接下来,创建一个包含表单的 Vue 组件。在组件中,使用 Element UI 的 el-form 和 el-form-item 组件来构建表单,并使用 rules 属性定义验证规则:

vue
复制
<template>
  <div>
    <el-form :model="form" :rules="rules" ref="form" label-width="120px">
      <el-form-item label="用户名" prop="username">
        <el-input v-model="form.username"></el-input>
      </el-form-item>
      <el-form-item label="密码" prop="password">
        <el-input type="password" v-model="form.password"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="submitForm('form')">提交</el-button>
        <el-button @click="resetForm('form')">重置</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  data() {
    var validateUsername = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请输入用户名'));
      } else {
        if (this.usernameList.indexOf(value) === -1) {
          callback(new Error('该用户名不存在'));
        } else {
          callback();
        }
      }
    };
    var validatePassword = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请输入密码'));
      } else {
        if (this.passwordList.indexOf(value) === -1) {
          callback(new Error('密码错误'));
        } else {
          callback();
        }
      }
    };
    return {
      form: {
        username: '',
        password: '',
      },
      rules: {
        username: [
          { validator: validateUsername, trigger: 'blur' },
        ],
        password: [
          { validator: validatePassword, trigger: 'blur' },
        ],
      },
      usernameList: ['admin', 'user1', 'user2'], // 假设的用户名列表
      passwordList: ['123456', 'password1', 'password2'], // 假设的密码列表
    };
  },
  methods: {
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert('提交成功');
        } else {
          console.log('验证失败');
          return false;
        }
      });
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
  },
};
</script>


在上面的示例中,我们定义了一个包含用户名和密码的表单。rules 对象中定义了每个表单项的验证规则。validateUsername 和 validatePassword 是自定义的验证函数,用于检查用户名和密码的有效性。submitForm 方法用于提交表单,并在提交前进行验证。如果验证通过,则弹出提示框;否则,在控制台输出验证失败的信息。resetForm 方法用于重置表单字段。

你可以根据自己的需求修改表单项、验证规则和提交逻辑。希望这个示例能帮助你开始使用 Vue 和 Element UI 进行表单验证!

相关推荐

  1. 如何Vue.js 结合 Element UI 进行验证

    2024-04-29 22:08:05       12 阅读
  2. vue3在table里使用elementUI的form验证

    2024-04-29 22:08:05       40 阅读
  3. vue form验证

    2024-04-29 22:08:05       19 阅读
  4. Vue form验证

    2024-04-29 22:08:05       6 阅读
  5. vue rules 验证 选中数量

    2024-04-29 22:08:05       37 阅读
  6. 在Spring Boot中使用Validation进行验证

    2024-04-29 22:08:05       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 22:08:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 22:08:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 22:08:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 22:08:05       18 阅读

热门阅读

  1. springboot之Conditional相关注解

    2024-04-29 22:08:05       10 阅读
  2. Linux系统——HTTP常见面试题

    2024-04-29 22:08:05       9 阅读
  3. React 之 内置方法setState改变state(一)

    2024-04-29 22:08:05       11 阅读
  4. ros收发话题通信测试

    2024-04-29 22:08:05       12 阅读
  5. 2024-04-29 区块链-项目-记录

    2024-04-29 22:08:05       13 阅读
  6. flume配置

    2024-04-29 22:08:05       11 阅读
  7. python绘制三维散点图

    2024-04-29 22:08:05       10 阅读
  8. 嵌入式学习——C语言基础——day12

    2024-04-29 22:08:05       15 阅读
  9. Python学习路线图及开源库和工具推荐

    2024-04-29 22:08:05       11 阅读