elemnet-ui中如何实现前端rules校验两个复选框至少要选一个!

在 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()` 方法来触发表单的验证。如果验证通过,你可以在回调函数中执行提交操作。

请注意,上述示例中的校验逻辑适用于至少选择一个选项的情况,你可以根据需要进行自定义修改以满足具体的业务需求。

猜你喜欢

转载自blog.csdn.net/qq_58647634/article/details/132178057
今日推荐