vue element ui From表单校验不生效问题解决

这篇具有很好参考价值的文章主要介绍了vue element ui From表单校验不生效问题解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决方案① el-from上要使用:model不要使用v-model

 <el-form ref="ruleForm" :model="testForm" label-width="100px" :rules="rules">

解决方案② el-from-item上是否有加prop,并确定prop是不是和编写的规则相同

  <el-form-item label="活动名称" prop="name">
    <el-input v-model="testForm.name"></el-input>
  </el-form-item>
  // 校验规则 prop name相同
   rules: {
    	name: [
            { required: true, message: '请输入活动名称', trigger: 'blur' },
            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
          ]
       }

解决方案③$refs[formName]$refs.formName注意事项 前者提交的时候要传参@click="submitForm('ruleForm')" 不然不生效

//官方的写法是$refs[formName]  
 <el-form ref="ruleForm" :model="testForm" label-width="100px" :rules="rules">
  <el-form-item label="活动名称" prop="name">
    <el-input v-model="testForm.name"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
  </el-form-item>
 <el-form>
 data() {
    return {
    testForm:{
        name:'',
      },
   rules: {
    	name: [
            { required: true, message: '请输入活动名称', trigger: 'blur' },
            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
          ]
       }
    }
  },
 methods: {
    // 第一种方法要接收参数 并且$refs[formName]
      submitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            alert('submit!');
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },
//网上也有用 $refs.formName 第二种写法的 
 <el-form ref="ruleForm" :model="testForm" label-width="100px" :rules="rules">
  <el-form-item label="活动名称" prop="name">
    <el-input v-model="testForm.name"></el-input>
  </el-form-item>
  <el-form-item>
  // 不需要传参 第二种方式
    <el-button type="primary" @click="submitForm()">提交</el-button>
  </el-form-item>
 <el-form>
 data() {
    return {
    testForm:{
        name:'',
      },
   rules: {
    	name: [
            { required: true, message: '请输入活动名称', trigger: 'blur' },
            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
          ]
       }
    }
  },
 methods: {
    // 第二种方法不需要接收参数 并且$refs.formName
      submitForm() {
        this.$refs.formName.validate((valid) => {
          if (valid) {
            alert('submit!');
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },

解决方案④网上有人说 未在data里面声明初始数据也会报错(未复现.解决方案仅供参考)

  <el-form-item label="活动名称" prop="name">
    <el-input v-model="testForm.name"></el-input>
  </el-form-item>
 data() {
    return {
  // 校验规则 prop name相同
    testForm:{
        name:'',//意思是这个位置没有声明 name 也会不生效 我测试了一下不声明也生效 仅供参考
      },
   rules: {
    	name: [
            { required: true, message: '请输入活动名称', trigger: 'blur' },
            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
          ]
       }
    }
  }

平时遇到的一些小问题 自我记录 有补充的地方希望大家多多提出意见 共同学习!
如有转载 请备注原文地址!文章来源地址https://www.toymoban.com/news/detail-503297.html

到了这里,关于vue element ui From表单校验不生效问题解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elementUI 表单数据的校验回显在关闭之后没有重置,再次打开表单之后还显示校验信息(重置表单 element-ui的resetFields()方法不生效)

    问题现象: 因为和修改用的同一个vue页面,所以只要点开修改之后,直接点击添加,就会显示校验的提示信息,也就是表单信息没有重置   解决方法: 解决方法一:在关闭弹框的地方或者需要重置的地方调用: 截图实例:  下面是userInfo的具体展现   解决方法二:如果上面

    2024年02月15日
    浏览(42)
  • 解决Vue+Element UI使用表单rules国际化时From表单验证信息不能实时更新

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 博主在工作之余开始进行自动化测试平台的开发,虽然已经996一个月了但是还是在使劲挤时间做这件事情,目前平台使用前端框架 vue-element-admin 进行简化后二次开发,目前保留了原框架中的国际化

    2024年02月13日
    浏览(36)
  • Vue element UI多个表单同时校验

    情况1:如下情景的多表单,两个表单之间没有任何关系。 假设两个表单绑定的ref分别是form1,form2;  也可以这样写:  情况2:如下情景的多表单,两个表单是通过for循环出来,所用的验证规则相同。

    2024年02月06日
    浏览(36)
  • Vue Element-ui表单校验规则

      Element-ui表单校验规则,使得错误提示可以直接在form-item下面显示,无需弹出框,因此还是很好用的。   我在做了登录页面的表单校验后,一度以为我已经很了解表单的校验规则。但我在深入使用表单校验规则时,遇到下列问题: 如何判断属性值是否在某个范围内,且

    2024年02月03日
    浏览(72)
  • 【element ui动态prop校验未生效问题】-2022-07-27

    需求:prop使用三元表达式赋值,实现动态验证,满足条件时才校验 动态校验失效: 失效原因: 只是动态修改了prop属性,而并未触发表单的重新渲染,验证器中的prop属性并未更新,还是初次渲染时的空值 如果使用v-if根据form.type切换两个el-item结果仍是不生效,因为vue的 di

    2024年02月15日
    浏览(32)
  • vue+element ui 之table中表单校验

    业务需求: 1,后台返回的是一个list数组,展示要表格的形式,但是每一项都可以编辑,而且都是必填。 效果图如下: 操作流程 1,首先先弄一个‘ 保存 ‘的按钮’ 2,表格的展示和校验(我这边是一个双层的list),第一层是渲染表格的第一栏(一级标签),第二层是渲染表

    2024年02月12日
    浏览(38)
  • element-ui for循环生成表单时,表单校验问题

    1、静态生成的表单,校验规则是放在data中处理 2、动态表单页面,需要把规则放在el-form-item中,进行校验 注意事项: 当使用v-for循环生成表单时, :prop有格式要求 格式不对会报错 :prop=“‘appraisalTempContent.’ + index + ‘.score’” 字段说明: 1、appraisalTempContent=遍历数组的k

    2024年02月16日
    浏览(33)
  • 关于element ui 中使用表单校验字段,校验一直不消失的问题

    element ui 中form表单,当遇到表单项为上传文件或者图片等等,上传完成之后,点击确定按钮,该表单项校验规则仍然不消失,如下   解决方法为,在上传成功的方法中手动移除校验,并且将rules里面的改字段赋值为空数组,如下:  同时要注意在下次打开新增页面的时候,要

    2024年02月12日
    浏览(29)
  • 解决 element-ui 中From 表单和Dialog 对话框搭配使用时 resetFields重置方法无法清空数据的问题

    在实际开发实现表格的增删改查的时候,新增和修改通常共用一个弹窗以节省代码量  当我们先点击修改的时候,会对弹窗表单进行赋值,这个时候我们再点击新增,会发现刚刚的表单数据仍然躺在表单中,并且使用resetFields没有清除数据 其实resetFields()是生效了的,resetFie

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包