Vue.js 中 Element UI 表单清空后仍然触发校验错误的原因?

<div class="documentsInput" style="margin-top: 20px;">
                  <el-form @keyup.native.enter.ctrl="saveDocAttachForm('docAttachForm')" class="customForm" :inline="true" :rules="docAttachFormAdd"  ref="docAttachForm" :model="docAttachForm" label-width="100px">
                     <!--<el-form-item label-width="0px" label="" prop="DocuCode">
                      <el-input v-model="docAttachForm.DocuCode" type="hidden"  auto-complete="off"></el-input>
                    </el-form-item>-->
                     <el-form-item label="随附单证代码" prop="DocuCodeName">
                      <el-input class="requiredOpt" id="DocuCodeNameInput" v-model="docAttachForm.DocuCodeName"  auto-complete="off" :style="{width:'182px'}"></el-input>
                    </el-form-item>
                     <el-form-item label="随附单证编号" prop="CertCode">
                      <el-input class="requiredOpt" v-model="docAttachForm.CertCode"  auto-complete="off" :style="{width:'182px'}"></el-input>
                    </el-form-item>  
                  </el-form>
                </div>
校验规则:
docAttachFormAdd:{
            DocuCodeName: [
              {validator: chkDocuCodeName,trigger:'change,blur'}   
            ],
            CertCode: [
             {validator: chkCertCode,trigger:'change,blur'} 
            ]
          },            
保存方法:
saveDocAttachForm (docAttachForm) {
           this.$refs[docAttachForm].validate((valid) => {
            if (valid) {
               var docAttachNewForm = {}
              for(var it in this.docAttachForm) {
                 docAttachNewForm[it] = this.docAttachForm[it]
              } 
              this.orderData.push(docAttachNewForm)
              this.totalSaveJson.orderData = this.orderData
              for(var it in this.docAttachForm) {
                 this.docAttachForm[it] = ''
              }
              $("#DocuCodeNameInput").focus();
            }
          }) 
        },

我给docAttachForm 添加了校验规则,当保存的时候如果有不符合规则的都会提示错误,为什么当我保存成功后,我把输入框里的数据清空后,让表单的第一个输入框获取焦点,表单里面的必填项还是会报错,边框变红,可是我并没有校验啊。请教下各位这是什么原因啊

阅读 3.3k
1 个回答

因为你的 trigger 写了 change,blur
内容修改或者失去焦点都会进行校验。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题