• Vue.js之利用element进行表单验证


    本文主要介绍如何利用element搭建表单结构并进行表单的验证。

    1.利用脚手架创建项目,执行vue ui命令,手动安装element组件,按需导入

    创建完成后,在src下的plugins目录下有一个element.js文件,在其中按需引入需要的元素。内容如下所示:

    1. import Vue from 'vue'
    2. import {
    3. Button,
    4. Card,
    5. Form,
    6. FormItem,
    7. Input
    8. } from 'element-ui'
    9. Vue.use(Button)
    10. Vue.use(Card)
    11. Vue.use(Form)
    12. Vue.use(FormItem)
    13. Vue.use(Input)

     2.利用元素搭建表单结构

    1. <template>
    2. <div id="app">
    3. <el-card class="login">
    4. <el-form ref="loginForm" style="margin-top:50px" :model="loginForm" :rules="loginRules">
    5. <el-form-item prop="mobile">
    6. <el-input placeholder="请输入手机号" v-model="loginForm.mobile">el-input>
    7. el-form-item>
    8. <el-form-item prop="password">
    9. <el-input placeholder="请输入密码" v-model="loginForm.password">el-input>
    10. el-form-item>
    11. <el-button type="primary" style="width:100%" @click="login">登录el-button>
    12. el-form>
    13. el-card>
    14. div>
    15. template>

     样式如下:

    1. <style scoped>
    2. #app{
    3. width: 100%;
    4. height: 100%;
    5. background-color: skyblue;
    6. display: flex;
    7. justify-content: center;
    8. align-items: center;
    9. }
    10. .login{
    11. width: 440px;
    12. height: 330px;
    13. background-color: white;
    14. }
    15. style>


     3.表单验证功能

    (1) el-form中绑定model和rules,model绑定data中的对象,包含的是要检验的几个属性。rules绑定data中的对象,包含要检验的属性对应的具体规则。

    (2)el-form-item中prop赋值要检验的属性 

    (3)  el-input中双向绑定要检验的属性 

    在script中定义手机号和密码的校验规则。

    最后,为登录按钮绑定事件,规定登录成功与否及对应的后续操作。可通过两种方式进行校验。

    (1)直接通过validate中的参数进行判断

    (2) 通过validate所返回的promise对象进行校验

  • 相关阅读:
    添加路径到头文件默认搜索路径
    【Unity3D】灯光组件Light
    abp(net core)+easyui+efcore实现仓储管理系统——组织管理升级之下(六十二)
    LeetCode每日两题02:深搜/广搜 岛屿的最大面积 (均1200道)
    【STM32+HAL】STM32CubeMX学习目录
    R语言R包详解——stringr包:字符处理
    【线程】多线程安全
    SpringBoot+Vue实现前后端分离的4S店车辆管理系统
    索引和事务
    PCL Super4PCS算法实现点云粗配准(版本二)
  • 原文地址:https://blog.csdn.net/weixin_44827643/article/details/126305793