element表单验证二选一
时间: 2023-08-29 08:07:15 浏览: 162
您可以使用 element-ui 提供的 el-form 组件中的自定义校验规则(validator)来实现二选一的表单验证。具体步骤如下:
1. 在 el-form 中定义需要校验的表单项,例如:
```
<el-form ref="form" :model="form" :rules="rules">
<el-form-item label="选项1" prop="option1">
<el-input v-model="form.option1"></el-input>
</el-form-item>
<el-form-item label="选项2" prop="option2">
<el-input v-model="form.option2"></el-input>
</el-form-item>
</el-form>
```
2. 在 data 中定义表单数据和校验规则:
```
data() {
return {
form: {
option1: '',
option2: ''
},
rules: {
// 自定义校验规则
option1OrOption2: [
{ required: true, message: '选项1和选项2必须填写其中一个', trigger: 'blur' },
{
validator: (rule, value, callback) => {
// 判断选项1和选项2是否都为空
if (!this.form.option1 && !this.form.option2) {
callback(new Error('选项1和选项2必须填写其中一个'))
} else {
callback()
}
},
trigger: 'blur'
}
]
}
}
}
```
3. 在 el-form-item 中指定校验规则:
```
<el-form-item label="选项1" prop="option1">
<el-input v-model="form.option1"></el-input>
</el-form-item>
<el-form-item label="选项2" prop="option2">
<el-input v-model="form.option2"></el-input>
</el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
```
4. 在提交表单时进行校验:
```
methods: {
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
// 表单校验通过,执行提交操作
console.log('表单校验通过')
} else {
// 表单校验不通过,输出错误信息
console.log('表单校验不通过')
}
})
}
}
```
这样就可以实现二选一的表单验证了。
阅读全文