vue爬坑之路--------this$refs[formName]validate

摘要:
Vueelement ui使用自定义正则表达式:letvalidatePass==˃{letregExp=/^(?!==''){this.$refs.ruleForm.validateField}callback()}来注册提交按钮事件:submitForm{this.$refs[formName].validate((valid)=˃{if(有效){let_this=this.$ajax.post('请求地址',_this.ruleForm).then((response)==˃{this.$message.success-ess('注册成功!')this.$ref[formName]。resetFields()//跳转到登录页面this$路由器。push})}else{console.log('errorsubmit!!')returnfalse})}打印第一个$refs[formName],检查是否获得了要验证的正确表单。其次,在获得正确的表单后,检查添加到表单的表单是否被验证为正确。应注意以下几点:el-formrules、模型属性绑定、ref标识el-formitemprop属性绑定

vue element-ui使用自定义正则表达式:

let validatePass = (rule, value, callback) => {
     let regExp = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/
     if (value === '') {
        callback(new Error('请输入密码'))
     } else if (regExp.test(value) === false) {
       callback(new Error('8-16字母和数字组成,不能是纯数字或纯英文'))
     } else {
        if (this.ruleForm.repass !== '') {
          this.$refs.ruleForm.validateField('repass')
        }
          callback()
     }
}
注册提交按钮事件:
submitForm (formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            let _this = this
            this.$ajax.post('请求地址', _this.ruleForm)
              .then((response) => {
                this.$message.success('注册成功!')
                this.$refs[formName].resetFields()
                //  跳转到登录页
                this.$router.push({path: '/'})
              })
          } else {
            console.log('error submit!!')
            return false
          }
        })
}

首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form。
其次在拿到了正确的form后,检查该form上添加的表单验证是否正确,需要注意的点有:

    1. el-form rules,model属性绑定,ref标识

    2. el-form-item prop属性绑定

免责声明:文章转载自《vue爬坑之路--------this$refs[formName]validate》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu安装配置telnetJava日志框架logback剖析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

记一次真实的webpack优化经历

前言 公司目前现有的一款产品是使用vue v2.0框架实现的,配套的打包工具为webpack v3.0。整个项目大概有80多个vue文件,也算不上什么大型项目。 只不过每次头疼的就是打包所耗费的时间平均在一分钟左右,而且打包后有几个文件显示为【big】,也就是文件体积过大。 最近就想着捣鼓一下,看能不能在此前的基础上做一些优化,顺带记录下来分享给大家。...

VUE 网页端改成桌面端(Electron)

展示效果    1、安装vue-cli   前提安装:http://nodejs.cn/download/   npm install -g @vue /cli  // 安装   vue --version  // 查询版本 2、创建项目   vue create 项目名 3、安装成功后执行   vue add electron-builder 4、运行...

JS最新技术ES6,结合Vue全局注册,实现Axios封装配置插件!

接下来,带来js全新技术ES6,结合Vue install全局组件实现Axios封装,以代码形式讲解。 1、请求封装 //file:src/api/http/http.js import axios from 'axios' axios.create(); axios.interceptors.request.use((config)=>{ //...

Django【第14篇】:Django之Form组件补充

补充 一、定义的规则 class TeacherForm(Form): #必须继承Form # 创建字段,本质上是正则表达式 username = fields.CharField( required=True, #必填字段 error_messages={"required":"用户名不...

vue中获取客户端IP地址

vue中获取客户端IP地址 获取ip方法 export functiongetUserIP(onNewIP) { let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection ||window.webkitRTCPeerConnection; let...

Vue 侦听器 watch

1. 侦听器 watch Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性 当属性发生改变时,自动触发属性对应的侦听器。 当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。 2. 基础用法 当 msg 属性的值发生改变时,就会触发侦听器的执行 <div id="app"> <input...