在 Element UI 中,你可以使用表单验证规则 `rules` 来校验表单字段。如果你想要实现前端校验确保至少选择了两个复选框中的一个,你可以使用自定义校验规则。以下是一个示例,演示如何使用 Element UI 的 `rules` 校验两个复选框至少选择了一个:
```vue
<template>
<el-form :model="formData" :rules="rules" ref="form">
<el-checkbox-group v-model="selectedOptions">
<el-checkbox label="Option 1">选项1</el-checkbox>
<el-checkbox label="Option 2">选项2</el-checkbox>
</el-checkbox-group>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form>
</template>
<script>
export default {
data() {
return {
formData: {
selectedOptions: [],
},
rules: {
selectedOptions: [
{ required: true, validator: this.validateSelectedOptions, trigger: 'change' }
],
},
};
},
methods: {
validateSelectedOptions(rule, value, callback) {
if (value.length === 0) {
callback(new Error('至少选择一个选项'));
} else {
callback();
}
},
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
// 表单验证通过,可以执行提交操作
console.log('表单验证通过');
}
});
},
},
};
</script>
```
在这个示例中,我们创建了一个包含两个复选框的表单。通过 `rules` 属性设置了校验规则,其中 `validateSelectedOptions` 方法用于自定义校验。在 `validateSelectedOptions` 方法中,我们检查 `selectedOptions` 数组的长度,如果长度为 0,则表示没有选择任何选项,此时触发校验错误。
点击提交按钮时,我们使用 `$refs.form.validate()` 方法来触发表单的验证。如果验证通过,你可以在回调函数中执行提交操作。
请注意,上述示例中的校验逻辑适用于至少选择一个选项的情况,你可以根据需要进行自定义修改以满足具体的业务需求。