element 表单校验提交时触发并输入框变红
时间: 2023-08-29 17:07:14 浏览: 232
Vue element-ui父组件控制子组件的表单校验操作
在 element 中,表单校验提交时触发可以通过 `submit` 事件来实现。在表单中绑定 `submit` 事件,然后在事件中进行表单校验,如果校验不通过,可以通过 `this.$refs.form.validate()` 方法来显示错误信息,并将输入框变红。
例如,以下代码实现了一个简单的表单校验:
```html
<template>
<el-form ref="form" :model="form" :rules="rules" @submit.prevent="submitForm">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model.number="form.age"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" native-type="submit">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
name: '',
age: ''
},
rules: {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' }
],
age: [
{ required: true, message: '请输入年龄', trigger: 'blur' },
{ type: 'number', message: '年龄必须为数字', trigger: 'blur' },
{ min: 1, max: 100, message: '年龄必须在1~100之间', trigger: 'blur' }
]
}
}
},
methods: {
submitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
// 校验通过,提交表单
console.log('submit!');
} else {
// 校验不通过,显示错误信息
console.log('error submit!!');
return false;
}
});
}
}
}
</script>
```
在这个例子中,我们在表单中绑定了 `submit.prevent` 事件,在事件中调用了表单的 `validate` 方法进行校验。如果校验不通过,会在输入框下方显示错误信息,并将输入框变红。如果校验通过,就可以提交表单了。
阅读全文