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
相关产品推荐
相关产品推荐

