vue element form 自定义校验1(表单校验)

该博客展示了如何在Vue.js中使用el-form组件进行表单数据绑定、校验规则设置,并通过ref属性获取表单对象,实现表单整体校验和自定义验证规则。在提交按钮点击事件中,调用validate函数检查表单的有效性,确保数据符合预期格式。
摘要由CSDN通过智能技术生成

通过ref属性获得表单对象,调用表单对象的validate函数进行表单的整体校验

<template>
  <!--model绑定整个form对象的的数据-->
  <!--rules绑定校验规则-->
  <!--通过ref属性获得表单对象,调用resetFieleds方法重置表单的字段-->
  <el-card>
    <el-form :model="form" :rules="rules" ref="formRef" label-width="80px">
      <el-form-item label="活动名称" prop="name">
        <!--通过form对象访问key-->
        <el-input v-model="form.name"></el-input>
      </el-form-item>
      <p>{{form.name}}</p>
    </el-form>
    <el-button type="primary" @click="commit()">提交</el-button>

  </el-card>

</template>

<script>
export default {
  data () {
    // 校验规则是一个函数变量
    var checkEmail = (rule, value, cb) => { // 验证邮箱的正则表达式
      const regEmail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
      if (regEmail.test(value)) return cb()
      cb(new Error('请输入合法的邮箱'))
    }
    return {
      form: {
        name: ''
      },
      rules: {
        name: [
          { required: true, message: '不为空', trigger: 'blur' },
          { min: 3, max: 10, message: '长度3-10', trigger: 'blur' },
          { validator: checkEmail, trigger: 'blur' }// 使用自定义校验规则
        ]
      },
    }
  },
  methods: {
    commit () {
      this.$refs.formRef.validate(valid => {
        if (!valid) return// 如果校验未通过则直接返回
      })
    }
  }
}
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值