Form组件提供了表单验证的功能
基本使用步骤:
1:给el-form添加rules属性,通过rules提供规则,<el-form :rules="rules">
2:在data中提供rules规则
3:给每一个需要校验的elform-item 添加prop
具体使用步骤:
1:需要通过rules属性传入约定的验证规则
<el-form class="login-form" :model="form" :rules="rules">
2:在data中准备rules规则
rules:{
mobile:[
{ required:true, message: '请输入手机号', trigger:['blur','change']},
{min: 5,max:11,message:'长度在5到11个字符', trigger:['blur','change'] }
]
}
3:将Form-item的prop属性设置为需校验的字段名
<el-form-item prop="mobile">
<el-input v-model="form.mobile" placeholder="请输入在手机号"></el-form>
<el-form-item>
正则校验
required 必须的,例如校验内容是否非空
pattern 正则表达式,例如校验手机号码格式、校验邮箱格式
range 使用min和max属性定义范围,对于字符串和数组类型,将根据长度进行比较,对于数字类型,数字补得小于min,也不得大于max
不要忘了配置prop
<el-form-item prop="code">
自定义校验
element ui支持传入一个函数,进行自定义校验的配置
语法: 自定义校验规则
{ validator:校验函数,trigger: ' '}
不要忘了配置prop
登录时提交校验
每次点击按钮,进行ajax请求前,应该先对整个表单内容校验,不然还是会发送很多无效的请求
需求:要通过校验了,才发送请求
步骤:
1:给登录按钮注册点击事件
2:登录时,需要对整个表单进行校验,首先需要获取表单
3:登录时,通过$refs获取到表单,进行校验
上述案例使用到的知识点
ref属性配合refs: 任何组件都有
refs可以获取到是当前组件上所有的标记
ref被用来给DOM元素或子组件注册引用信息,引用信息会根据父组件的nextTick( () => {} )
为了在created或其他vue的钩子函数中引用Dom元素,先在dom中使用ref标签进行注册,然后便可以通过this.
关于ref注册时间的说明:因为ref本身是作为渲染结果被创建的,在初始渲染的时候不能访问他们,有因为他们还不存在,
在上面的例子中,input的引用信息为input1,
![refs是所有注册过的ref的一个集合 ![image.png](https://upload-images.jianshu.io/upload_images/18227688-6783b20b970ffd23.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) console.log(this.](https://math.jianshu.com/math?formula=refs%E6%98%AF%E6%89%80%E6%9C%89%E6%B3%A8%E5%86%8C%E8%BF%87%E7%9A%84ref%E7%9A%84%E4%B8%80%E4%B8%AA%E9%9B%86%E5%90%88%20!%5Bimage.png%5D(https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F18227688-6783b20b970ffd23.png%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240)%20console.log(this.)