vue element form表单 校验不通过也能提交
时间: 2023-08-13 21:09:11 浏览: 375
在Vue Element中,如果表单校验不通过但依然可以提交,一般是因为没有在表单元素上设置 `ref` 属性,并且在提交方法中没有调用 `validate` 方法进行校验。要解决这个问题,可以按照以下步骤进行:
1. 在表单元素上设置 `ref` 属性,例如:
```
<el-form ref="form" :model="formData" :rules="rules">
<!-- 表单元素 -->
</el-form>
```
2. 在提交方法中调用 `validate` 方法进行校验,例如:
```
<el-button type="primary" @click="submitForm">提交</el-button>
<script>
export default {
methods: {
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
// 校验通过,执行提交逻辑
} else {
// 校验不通过,不执行提交逻辑
}
})
}
}
}
</script>
```
在上面的例子中,当点击提交按钮时,会调用 `submitForm` 方法,在该方法中使用 `this.$refs.form.validate` 方法进行校验。该方法接受一个回调函数作为参数,如果校验通过,则回调函数的参数 `valid` 为 `true`,否则为 `false`。如果校验通过,则可以执行提交逻辑,否则不执行提交逻辑。
通过以上步骤,可以实现在表单校验不通过时禁止提交。
阅读全文