el-form动态检验无法生效问题(已解决)

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

要对el-form里面的字段动态生成校验规则,测试了一系列的骚操作也无法生效,要么是require视图生效了,校验规则还是不生效;看了csdn里面好多方案,都是废话,废话,直接上硬货,最终总结如下:

         <el-form :rules="rules" ref="auditForm" :model="auditForm" label-width="100px">
            <el-form-item label="审核结果:" prop="auditStatus">
              <el-radio-group v-model="auditForm.auditStatus" @change="updateFormRules">
                <el-radio label="Y">通过</el-radio>
                <el-radio label="N">不通过</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="审核意见:" prop="remark">
              <el-input
                v-model="auditForm.remark"
                placeholder="请输入"
                type="textarea"
                :rows="2"
                clearable
                maxlength="200"
                show-word-limit
              />
            </el-form-item>
          </el-form>

需求描述:选择审核结果为"N",不通过时,审核意见为必填,否则为不必填。

原本的rules里面不必去填写审核意见的校验

     rules: {
        auditStatus: [{ required: true, message: '请选择', trigger: 'blur' }]
      },

方案一:监听审核结果的change事件,去动态增加审核意见的规则
方案二:使用watch去监听审核结果的值,去动态增加审核意见的规则文章来源地址https://www.toymoban.com/news/detail-732641.html

    updateFormRules () {
      if (this.auditForm.auditStatus === 'N') {
        this.$set(this.rules, 'remark', [
          { required: true, message: '请输入审核意见', trigger: 'blur' },
          { min: 3, max: 200, message: '长度在 3 到 200 个字符', trigger: 'blur' }
        ]);
      } else {
        this.$set(this.rules, 'remark', []);
      }
      this.$nextTick(() => {
        this.$refs.auditForm.clearValidate(); // 清除表单验证规则
        this.$refs.auditForm.validate(); // 重新验证表单
      });
    },```
    



到了这里,关于el-form动态检验无法生效问题(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vue3使用响应式数据 + v-model导致响应式失效el-form表单无法输入的问题

    参考文章 重构vue2项目时发现的问题,原始项目使用的是 Element-ui 。 其实vue3可以使用适配的 Element-plus 问题描述 el-form表单无法输入 控制台报错 Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option. 使用响应式变量时应先声明 解决办法

    2024年02月15日
    浏览(31)
  • Element-UI中el-form内部在输入框回车导致刷新页面的问题解决。

    当 el-form 表单里面只有一个 el-input 输入框的时候,在输入框选中时按回车会刷新页面: 默认情况下, el-form 中只有一个输入框时, el-form 会自动为输入框添加一个 type=\\\"submit\\\" 的按钮,当按下回车键时,该按钮会触发表单的提交事件。 在el-form标签内加入 @submit.native.prevent 即可

    2024年02月11日
    浏览(44)
  • el-form验证问题

    1.如果第一次打开el-dialog有验证失败,重新打开el-dialog仍然会有验证失败 解决方案: 给el-dialog绑定close事件,并调用clearValidate() 2.手动控制验证状态 error:错误信息 validate-status:验证状态。 success 验证成功, error验证失败, validating验证中,\\\'\\\'未验证 3.编辑界面验证这行数据

    2024年01月18日
    浏览(32)
  • el-form 动态表单增减项 (vue+element ui)

    1、点击”+“,弹出弹窗,新增一项,点击”-“,删除当前项 代码展示: html代码: 注意: el-form-item(表单项)循环,绑定的数组写在form当中 表单: 新增参数弹框: data: methods: 1、点击新增,弹出新增弹窗,添加表单项 2、点击”-“,删除当前表单项

    2024年02月02日
    浏览(39)
  • el-dialog中使用el-form子组件传数据问题

    需求:在父组件中点击后显示el-dialog,el-dialog中使用了子组件,并需要向子组件传form数据。 如果先传值 this.$refs.child.childFile(obj); ,再让 this.dialogFormVisible = true; ,则会出现childFile方法undefined。 但是即使是先 this.dialogFormVisible = true; 也会是方法undefined。因为 在Vue.js中,视图更

    2024年01月15日
    浏览(38)
  • el-form表单动态校验(场景: 输入框根据单选项来动态校验表单 没有选中的选项就不用校验)

    el-form常规校验方式: 正题部分-表单动态校验 场景: 输入框根据单选项来动态校验表单 没有选中的选项就不用校验 效果: 关键点: 跟正常校验流程不同的是, el-form-item标签内的required和rules都要加上判断条件

    2024年02月09日
    浏览(40)
  • el-form/el-form-item表单验证

    如下图所示,当触发表单验证后,输入相应的内容,表单检验通过,但是上传图片后的表单校验没有通过,需要点击表单提交触发表单提交时的校验才有效 el-form 表单,在输入内容改变元素的值后,会触发上层 el-form-item 的 el.form.chang / \\\'el.form.blur’事件,el-form-item 接收到此事

    2024年02月12日
    浏览(39)
  • el-form单个表单项校验方法;element-ui表单单个选项校验;el-form单个表单校验

    当我们使用element-ui的el-form时,想在提交表单前对其中一个表单进行验证时就可以使用element自带的方法“validateField” 如图: 使用示例

    2024年02月16日
    浏览(40)
  • vue3使用el-form实现登录、注册功能,且进行表单验证(Element Plus中的el-form)

    简介:Element Plus 中的 el-form 是一个表单组件,用于快速构建表单并进行数据校验。它提供了丰富的表单元素和验证规则,使表单开发变得更加简单和高效。可以搭配el-dialog实现当前页面的登录、注册页 ,这两天在vue3中用到了表单登录,特意记录一下,这里没有封装,直接使

    2024年02月07日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包