You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuetify 3.4/Vue 3.3 RadioGroup组件结合:rules的验证实现示例求助

Vuetify 3.4/Vue 3.3 RadioGroup组件结合:rules的验证实现示例求助

这是个挺基础的问题,我正在找一个Vuetify 3.4/Vue 3.3版本下,带验证规则的RadioGroup组件示例,最好是用组合式API实现的。

我基于Vuetify的Playground示例做了个简化版本,代码如下:

<template>
  <v-form :model="valid">
    <v-text-field
      v-model="textfield"
      :rules="requiredValue"
      label="First name"
      required
    >
    </v-text-field>

    <v-radio-group :model="rbg" label="Pick a number" :rules="requiredValue" required>
      <v-radio label="Radio One" value="one"></v-radio>
      <v-radio label="Radio Two" value="two"></v-radio>
      <v-radio label="Radio Three" value="three"></v-radio>
    </v-radio-group>

    <button>I'm just here to have a tabbable element</button>
  </v-form>
</template>

<script>
export default {
  data: () => ({
    valid: false,
    textfield: '',
    rbg: '',
    requiredValue: [
      value => {
        if (value) {
          return true
        }
        return 'This is a required field'
      },
    ],
  }),
}
</script>

目前遇到的问题是:文本框在tab切换离开且为空时,会正常显示错误提示,但RadioGroup却不会。我试过给v-radio-group加上validate-on="blur"属性,但也没起作用。

我倒是找到一种临时解决方法——绕开Vuetify的部分特性,给每个v-radio都加上@blur事件,手动触发验证逻辑;同时用Vuetify的:error-messages绑定一个响应式变量,验证函数会根据结果把这个变量设为null(验证通过)或者错误字符串(验证失败)。这种方法能工作,但总觉得应该可以直接用v-radio-group自带的:rules和validate-on属性来实现啊,毕竟这些属性在它的API文档里都有列出。

有没有人能提供一个好用的、能正常工作的示例呢?

备注:内容来源于stack exchange,提问作者Bob Ramsey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 08:38:16