element-ui表单组件form-item默认会在change事件发生时自动校验,如何关闭这种校验?

element-ui表单组件form-item默认设计的是在表单model对应的prop健的值发生变化时触发自动校验,如何才能关闭这种自动校验?业务需求是希望在提交表单时才进行检验

rules: {
    ...
    insuranceDate: [{required: true, message: '有效期不能空'}],
    ...
    ...
<el-form-item label="有效期" v-if="formData.flagBuyInsurance" prop="insuranceDate">
    <div class="flex">
        <m-date-picker value-format="timestamp" type="daterange" v-model="formData.insuranceDate"></m-date-picker>
    </div>
</el-form-item>
    ...
阅读 15k
4 个回答

不要设置trigger属性,或者改成submit试一下

form-item组件默认并没有提供自动校验的功能,你应该是加了rules属性。

如果你想用传统的点击提交的时候才去check,不要使用它的rules属性就可以了,可以参考它的这个demo

https://element.eleme.cn/#/zh...

submit的时候去做统一的验证

clipboard.png

可以尝试在表单内的元素上添加 :validate-event="false",例如 el-input 官方文档里也有讲到这个属性

image.png

加完之后改变值不会自动触发,然后在登录的单击事件里调用表单实例对象的 validate 方法就可以触发表单校验

this.$refs.form.validate((valid) => {
  if (valid) {
    // 执行登录逻辑
  } else {
    // 校验不通过,提示用户填写输入框
  }
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题