Vue之ElementUI Form表单校验

Element-UI中的表单验证 阅读详情

表单校验是前端开发过程中最常用到的功能之一,根据个人的工作经验总结在此对表单校验功能的基础用法进行整理说明

首先对el-form标签中的几个关键属性进行说明,

  • ref: 当前表单的唯一标识

  • model: 表单绑定的对象

  • rules: 字段校验规则

而最关键的一点是el-form-item标签中的prop属性,属性值必须与绑定的字段名称保持一致。

在这里插入图片描述

rules字段用来定义各个字段具体的校验规则,用法请查阅开篇的demo示例,其中required标识字段是否必填,message为校验提示语,trigger为单个校验触发方式;也可以通过validator字段自定义校验规则,方法validateProductName中对商品名称做了判空及长度校验,需要注意的是所有的条件分支都要做callback处理,否则校验可能会导致异常。

1、表单校验
  • 校验方法如demo示例中的save方法所示。
  • 如果只想对表单中的单个控件或部分控件进行校验,可以调用以下方法
    this.$refs.form.validateField(‘productName’)
  • 其中参数为该控件上的prop属性值;参数也可以是多个prop属性值构成的数组,可以对包含的部分控件进行校验。

没有校验之前:
在这里插入图片描述

校验之后:
在这里插入图片描述

2、重置表单
  • 调用表单重置方法this.$refs.form.resetFields()实现。
  • 当然像datetimerange类型的日期控件是无法通过该方法进行重置,必须手动重置绑定的字段。
3、清除校验提示语
  • 调用方法this.$refs.form.clearValidate()实现。
  • 如果仅需要清除单个控件的提示语,只要把该控件对应的prop属性值作为参数传入即可。
  • 还有另外一种方式就是在该控件对应的el-form-item标签中增加ref属性值,然后调用clearValidate方法。
校验的三种方式

参数 item
required true 必填项
maxLength 字符串的最大长度
min 和 max 必须同时给 min < max type=number
type 手机号 mobile
邮箱 email
网址 url

第一种:在el-form-item单个添加验证

这种方式适用于需要个别检验的字段,或者表单字段有变动的校验;

需要在el-form-item标签中加入 :rules=’'直接是验证的条件 ‘’

下面举个例子(验证用户名 不能为空)

<el-form-item label="用户名"  :prop="userName" :rules="[{ required: true, message: '请输入用户名', trigger: 'blur' }]">
    <el-input v-model="userName" :maxlength="16" placeholder clearable></el-input>
</el-form-item>

在这里插入图片描述
第二种:在表单上加多个验证

这种方式适用于表单全部字段校验或需要校验字段类型比较简单的数据类型

需要在el-form-item标签中加入 :rules=’'rules ‘’ ,然后在data()中写入rule{添加每个表单的验证}

下面举个例子(验证用户名和密码 不能为空)

<el-form   :model="formData" :rules="dateRule" ref="form">
    <el-form-item label="用户名" prop="userName">
        <el-input v-model="formData.userName"  type="password" placeholder="请输入用户名" clearable></el-input>
    </el-form-item>
    <el-form-item label="密码" prop="userPass">
       <el-input v-model="formData.userPass" :maxlength="18" placeholder="请输入密码" clearable></el-input>
    </el-form-item>
</el-form>

data中

 rule: {
           userName:  loginName: [
          { required: true, message: "用户名不能为空", trigger: "blur" }
        ],
        userPass: [
          { required: true, message: "密码不能为空", trigger: "blur" }
        ]
      }

在这里插入图片描述

我这两个都只简单了做了不为空的验证,还可以加其他的验证噢(如下)

最基础的验证

 { required: true, message: '请输入姓名', trigger: 'blur' },//不能为空
 { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' },//长度
 { required: true,
    pattern: /^[\u4e00-\u9fa5_a-zA-Z0-9.·-]+$/,
    message: '姓名不支持特殊字符',
    trigger: 'blur' }//正则

在data中定义一些自定义的验证


data() {
    let reg = /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%^&*?]{6,12}$/
    var newPass= (rule, value, callback) => { 
        if (!reg.test(value)) {
            callback(new Error('密码应是6-12位数字、字母或字符!'))
        } else if (this.form.oldPasswd === value) {
            callback(new Error('新密码与旧密码不可一致!'))
        } else {
            callback()
        }
    }

    }
    return {
        form: {
            newPasswd: ''
        },
        rules: {
            newPasswd: [
                { required: true, message: '请输入新密码', trigger: 'blur' },
                { validator: newPass, trigger: 'blur' }
            ]
        }
    }
}
el-form表单验证 阅读详情

相关推荐

Vue前端框架实现ElementUIForm表单验证方式

首先,需要对form表单完成如下定义: 然后,对表单的项指定一个prop属性名,并将其绑定到model中: 2.2 用户名检验(一般检验) 通过制定rules规则检验输入数据的合法性: 效果如下:同样,先制定rules规则检验: 然后实现入侵检验方法checkPhone: 2.4 form表单数据非法检验 2.5 完整表单代码 如果本文对您有帮助的话,麻烦充电支持一下小编,谢谢♥~

qq_62175972的博客 1627

elemeng-ui 中el-form 表单如何校验

在开始之前需要把element-uivue中引入好,如果没有引入好的话,需要先跟着element-ui的文档进行操作,接下来就可以进行学习了。 第一种:在el-form-item单个添加验证 这种方式适用于需要个别检验的字段,或者表单字段有变动的校验; 做法:需要在el-form-item标签中加入 :rules=''直接是验证的条件 '' 下面举个例子(验证用户名 不能为空) <el-form-item label="用户名" :prop="userName" :rul..

weixin_47420579的博客 1012

Vue中使用ElementUIForm组件时使用 v-if 切换时导致表单自动校验问题

说明:利用ElementUIForm表单组件实现登录、注册功能,当chooseItem == 0时是登录模块,否则是注册模块,同时也给表单项添加了校验规则。 示例代码: <template> <el-form v-if="chooseItem == 0" :model="loginForm" :rules="loginRules" ref="loginForm" siz

鸭绒的博客 3566

element-ui Form表单验证

element-ui Form表单验证规则全解 elementform表单非常好用,自带了验证规则,用起来很方便,官网给的案例对于一些普通场景完全没问题,不过一些复杂场景的验证还得自己多看文档摸索,自己经过数次爬坑 之后,总结了几种form表单的验证规则,为了便于阅读,验证规则是拆分的,完整的代码放在文末 1. 普通输入验证 <el-form-item label="活动名称" prop="name"> <!-- validate-event属性的作用是: 输入

嘿嘿 1万+

Vue2 + ElementUI 实现动态form表单校验

Vue2 + ElementUI 实现动态form表单校验

qq_44178552的博客 527

elementui 复杂 表单验证_vue + elementUI 各种form表单校验

vue + elementUI form表单校验实际开发过程中,我们会遇到各种的form表单,比如:典型的form表单,也就是我们最常用用的也最多的一种,另外还有动态生产的表单,或者是在列表中的表单首先是典型的form表单,其校验方式在element-UI中有详细的介绍,此处不再啰嗦稍微复杂一点的比如循环循环生成的form表单v-for="(item, index) in dynamicVali...

weixin_33464488的博客 711

elementui from表单提交_二:VueElementUI Form表单校验

(注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的)表单校验是前端开发过程中最常用到的功能之一,根据个人的工作经验总结在此对表单校验功能的基础用法进行整理说明~如下代码是Form表单校验的demo示例:View Code代码运行后会出现如下的弹框首先对el-form标签中的几个关键属性进行说明,ref: 当前表单的唯一标识model: 表单绑...

weixin_26800111的博客 447

二:VueElementUI Form表单校验

(注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 表单校验是前端开发过程中最常用到的功能之一,根据个人的工作经验总结在此对表单校验功能的基础用法进行整理说明~ 如下代码是Form表单校验的demo示例: View Code 代码运行后会出现如下的弹框 首先对el-form标...

254

Vue ElementUI——Form表单自定义校验规则遇到的坑

初次使用 ElementUI,发现很多需要注意的点,一不留神就会出现自己给自己埋下的坑。 本次主要讲解 Form 表单中,自定义校验规则中的注意点。 先来看一下埋坑代码 以上代码是ElementUI中自定义校验手机号的使用,此时代码不会报错,但在提交表单时,用到validate方法对整个表单进行校验,会发现这个方法不会执行,百思不得姐啊。。 接下来一起来填坑 自己埋下的坑,自己总要解决的 ~...

足各路 6494

VUE+ElementUI中,封装子组件中有多个form表单校验,需同时校验,供父组件调用校验通过与否

【代码】VUE+ElementUI中,封装子组件中有多个form表单校验,需同时校验,供父组件调用校验通过与否。

Sept_16R的博客 224

应用二:VueElementUI Form表单校验

(注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 表单校验是前端开发过程中最常用到的功能之一,根据个人的工作经验总结在此对表单校验功能的基础用法进行整理说明~ 如下代码是Form表单校验的demo示例: <template> <div id="demo"> <...

weixin_30273763的博客 144

vue+elementui form表单校验

vue+elementui,使用form表单时,有时需要用到多表单一起验证,待都校验通过后再执行后续动作。 解决方法:先对每一个表单进行校验,返回一个promise对象,然后使用Promise.all方法对所有返回的promise对象判断,全部是fulfilled的时候执行后续逻辑。代码如下: <template> <div> <el-form ref="form1" :model="form1" :rules="rule

I_recluse的博客 2875

Vue2 +Elementui 动态、批量 创建 form表单 & 表单校验

特别是在一些常见的后管系统,会遇见 动态 创建/复制 表单,本次实例 以 Vue2 + Elementui 为例。

京都玩家 2412

vueelementui中el-form之多层数组的表单校验

内容主要是记录一下自己在开发过程中遇到的一些问题,普通的表单校验elementUI官方文档已经很详细了,但针对复杂的数据结构,就需要拓展,以下及供参考。。。

kjhytfh的博客 3399

解决Vue+elementUI Form表单校验出现英文提示的问题

问题:当表单里输入内容后,删除清空后会出现英文的提示。解决:将写在 el-form-item里的。属性写在el-input里。

axinxina的博客 412

vue+elementUi——form表单校验提示清除(技能提升)

今天在写后台管理系统时,用到了表单校验,为了能够校验必填项和类型等,需要用到表单中的 rule校验规则。最终效果如下: 由于在此页面上,禁用和删除两个功能基本类似,因此我是共用的一个弹窗展示。 所以导致,在禁用页面表单校验完成后,再进入删除页面时,在没有点击提交按钮时,就直接进行了表单校验,提示了校验报错信息。这样并不影响使用,但是页面美观度会差很多。 因此需要在进入此弹窗页面时,清除表单校验。 clearValidate的用法 我从网上找到的校验方法是:this.$refs[formName].cle

yehaocheng520的博客 1万+

Vue 总结ElementUiForm表单常用的几种校验方式

总结常见的校验方式

weixin_46419373的博客 3745
上一篇: Nginx的安装以及访问
下一篇: 项目中如何修改element-ui的默认样式
PicriL@Shmily
博客等级 码龄6年 9粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值