element 表单验证的基本使用

Form组件提供了表单验证的功能
基本使用步骤:
1:给el-form添加rules属性,通过rules提供规则,
2:在data中提供rules规则
3:给每一个需要校验的elform-item 添加prop
具体使用步骤:
1:需要通过rules属性传入约定的验证规则

正则校验
required 必须的,例如校验内容是否非空
pattern 正则表达式,例如校验手机号码格式、校验邮箱格式
range 使用min和max属性定义范围,对于字符串和数组类型,将根据长度进行比较,对于数字类型,数字补得小于min,也不得大于max


image.png

不要忘了配置prop

自定义校验
element ui支持传入一个函数,进行自定义校验的配置
语法: 自定义校验规则
{ validator:校验函数,trigger: ' '}


image.png

不要忘了配置prop


image.png

登录时提交校验
每次点击按钮,进行ajax请求前,应该先对整个表单内容校验,不然还是会发送很多无效的请求
需求:要通过校验了,才发送请求
步骤:
1:给登录按钮注册点击事件


image.png

2:登录时,需要对整个表单进行校验,首先需要获取表单


image.png

3:登录时,通过$refs获取到表单,进行校验
image.png

上述案例使用到的知识点
ref属性配合refs: 任何组件都有refs可以获取到是当前组件上所有的标记

ref被用来给DOM元素或子组件注册引用信息,引用信息会根据父组件的refs对象进行注册,如果在普通的DOM元素上使用,引用信息就是元素,如果用在子组件上,引用信息就是组件实例 在vue中,因为vue更新dom是异步的,所以即使更新了值也不会立即改变dom,所以必须使用nextTick的API去操作dom eg: this.nextTick( () => {} )

image.png

image.png

为了在created或其他vue的钩子函数中引用Dom元素,先在dom中使用ref标签进行注册,然后便可以通过this. refs 是一个对象,持有已注册过的所有子组件,
关于ref注册时间的说明:因为ref本身是作为渲染结果被创建的,在初始渲染的时候不能访问他们,有因为他们还不存在, refs也不是响应式的,因此不能用它在模板中做数据绑定 当ref被用来给元素或子组件注册引用信息,引用信息将会在父组件的refs对象上,如果在普通的dom元素上使用,引用指向就是dom元素,如果在子组件上使用,引用就指向ref的一个集合
在上面的例子中,input的引用信息为input1, refs.input1) console.log(document.getElementById("input1"))两种方法获得的都是DOM节点,而 refs相对于document.getElementById的方法,会减少获取dom节点的消耗 当ref和v-for一起使用时,获取到的引用会是一个数组,包含和循环数据源对应的子组件,但是refs只在组件渲染完成后才填充的,并且它是非响应式的,它仅仅是一个直接操作子组件的应急方案,应当避免在模板或计算属性中使用$refs

你可能感兴趣的:(element 表单验证的基本使用)