详解element-ui中form验证杂记

yizhihongxing

下面我将详细讲解关于element-ui中form验证的攻略。

一、前言

在前后端分离的开发中,前端对数据的验证尤为重要。element-ui提供了许多常用的表单验证功能,本文将详解其使用方法。

二、需求分析

本次验证需求如下:

  1. 用户名:非空,长度在3~20个字符之间
  2. 密码:非空,6~18个字符
  3. 确认密码:必须与密码保持一致

三、实现方法

1. 使用element-ui的Rules规则

在element-ui中,通过给el-form-item组件添加prop属性,即可将该表单项加入校验规则队列中。接下来,我们需要使用el-form组件的rules属性来声明具体的校验规则。

以下是代码示例:

<el-form ref="myform" :model="form" :rules="rules">
  <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 label="确认密码" prop="confirm">
    <el-input type="password" v-model="form.confirm"></el-input>
  </el-form-item>
  <el-button @click="handleSubmit">提交</el-button>
</el-form>

<script>
export default {
  data() {
    return {
      form: {
        username: '',
        password: '',
        confirm: '',
      },
      rules: {
        username: [
          { required: true, message: '请输入用户名', trigger: 'blur' },
          { min: 3, max: 20, message: '长度在3到20个字符', trigger: 'blur' }
        ],
        password: [
          { required: true, message: '请输入密码', trigger: 'blur' },
          { min: 6, max: 18, message: '长度在6到18个字符', trigger: 'blur' }
        ],
        confirm: [
          { required: true, message: '请再次输入密码', trigger: 'blur' },
          { validator: this.checkPassword, trigger: 'blur' }
        ],
      },
    };
  },
  methods: {
    // 自定义校验规则
    checkPassword(rule, value, callback) {
      if (value === '') {
        callback(new Error('请再次输入密码'));
      } else if (value !== this.form.password) {
        callback(new Error('两次输入的密码不一致'));
      } else {
        callback();
      }
    },
    // 提交表单
    handleSubmit() {
      this.$refs.myform.validate(valid => {
        if (valid) {
          this.$message.success('验证通过,提交成功!');
        } else {
          this.$message.error('表单验证失败,请检查输入是否正确!');
        }
      });
    },
  },
};
</script>

2. 自定义校验规则

有时候,我们需要自定义校验规则。这时,可以使用el-form中的规则验证器,示例如下:

<el-form ref="form" :model="formData" :rules="rules">
  <el-form-item label="测试1" prop="test1">
    <el-input v-model="formData.test1"></el-input>
  </el-form-item>
  <el-form-item label="测试2" prop="test2">
    <el-input v-model="formData.test2"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="validateForm">提交</el-button>
  </el-form-item>
</el-form>

<script>
export default {
  data() {
    return {
      formData: {
        test1: '',
        test2: '',
      },
      rules: {
        test1: [
          { required: true, message: '请输入测试1', trigger: 'blur' },
        ],
        test2: [
          { validator: this.validateTest2, trigger: 'blur' },
        ]
      },
    };
  },
  methods: {
    // 自定义校验规则函数
    validateTest2(rule, value, callback) {
      if (value === '') {
        callback(new Error('测试2不能为空'));
      } else {
        callback();
      }
    },
    // 提交表单
    validateForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          this.$message.success('表单验证通过!');
        } else {
          this.$message.error('表单验证失败,请检查输入是否正确!');
        }
      });
    },
  },
};
</script>

四、总结

本文详细讲解了如何使用element-ui进行表单验证,包括使用内置的校验规则和自定义校验规则。希望读者能够从中受益,更好地开发自己的网站。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解element-ui中form验证杂记 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 详解如何在vue项目中使用eslint+prettier格式化代码

    以下是在Vue项目中使用ESLint和Prettier的完整攻略: 安装和配置ESLint 安装ESLint 在终端中进入项目文件夹,并运行以下命令安装ESLint: npm i eslint –save-dev 创建ESLint配置文件 继续在项目文件夹中运行以下命令,创建名为.eslintrc.js的ESLint配置文件: npx eslint –i…

    JavaScript 2023年6月10日
    00
  • js使用DOM设置单选按钮、复选框及下拉菜单的方法

    下面我为您详细讲解“js使用DOM设置单选按钮、复选框及下拉菜单的方法”的完整攻略。 一、DOM设置单选按钮的方法 要设置单选按钮,首先需要获取所有单选按钮,然后遍历它们,找到需要选中的单选按钮,然后给它添加 checked 属性即可。 以下是具体代码示例: <input type="radio" name="gender…

    JavaScript 2023年6月10日
    00
  • 常用的js验证和数据处理总结

    下面详细讲解”常用的JS验证和数据处理总结”: 栏目介绍 本栏目主要针对常用的JS验证和数据处理进行总结,并提供一些示例说明,方便开发者在开发过程中快速应用。 表单数据验证 常用的表单验证有:非空验证、数字验证、电子邮件验证、电话号码验证、URL验证、正则验证。 针对非空验证可以使用下面的代码片段: function checkNotNull(str){ i…

    JavaScript 2023年6月10日
    00
  • 静态页面的值传递(三部曲)

    静态页面的值传递,是指在没有使用后端语言的情况下,通过前端技术在多个页面之间传递数据,实现多页面数据共享的目的。其实现的主要步骤可以归纳为以下三步: 使用URL传递参数 在页面A中使用URL传递参数,在链接中添加参数,并在页面B中通过解析URL获取传递的参数值,从而实现两个页面间的数据传递。 示例1: 在页面A中有一个按钮,点击后跳转至页面B,并将参数id值…

    JavaScript 2023年6月11日
    00
  • javascript中比较字符串是否相等的方法

    要比较JavaScript中的两个字符串是否相等,通常可以使用JavaScript提供的严格相等运算符===或Object.is()方法。 使用严格相等运算符 === 严格相等运算符===将比较两个字符串的值和类型。如果两个字符串的值和类型完全相同,则返回true,否则返回false。 以下是使用===运算符比较字符串的示例代码: const str1 = …

    JavaScript 2023年5月28日
    00
  • js实现页面跳转的五种方法推荐

    下面是关于“js实现页面跳转的五种方法推荐”的完整攻略。 一、前言 在网页编程中,有时需要通过JavaScript实现页面跳转。本篇文章将介绍常见的五种实现页面跳转的方法,让大家能够实现常用的页面跳转功能。 二、方法一 使用location.href实现页面跳转: location.href = "http://www.example.com&qu…

    JavaScript 2023年6月11日
    00
  • JavaScript如何判断对象有某属性

    当我们想在JavaScript中访问对象的某些属性时,首先需要判断该属性是否存在。下面是几种常见的判断对象是否有属性的方法: 1. hasOwnProperty()方法 hasOwnProperty()是JavaScript内置对象的一个方法,用来判断对象自身属性中是否有指定的属性名称。下面是一个使用hasOwnProperty()的例子: const ob…

    JavaScript 2023年5月27日
    00
  • 12种不宜使用的Javascript语法整理

    12种不宜使用的Javascript语法整理 在Javascript编程过程中,有一些语法在代码执行过程中会出现问题,因此不建议使用。在本文中,我们将介绍12种不宜使用的Javascript语法,以及为什么应该避免使用它们。 1. with语句 with语句可以在代码块内部将一个对象提前成为一个作用域,这样我们就可以直接访问该对象的属性和方法,而不必使用对象…

    JavaScript 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部