Vee-Validate 3报错:实例未定义alpha_spaces但渲染时引用
问题原因与解决办法
1. 模板中规则的写法错误
在ValidationProvider的:rules配置对象里,你直接写了alpha_spaces,Vue模板会把它解析为当前组件实例上的属性/方法,而非规则名称的键。由于该规则不需要额外参数,正确写法是给它赋值true:
<ValidationProvider mode="passive" name="Firstname" :rules="{required_if:!form.details_not_known, max:35, alpha_spaces: true}" v-slot="{ errors }" >
2. 错误将非组件对象注册到components选项
你在组件的components选项里注册了extend,但extend是VeeValidate提供的规则扩展方法,并非Vue组件,属于无效注册,需要移除:
export default { components: {ValidationProvider, ValidationObserver}, // 移除extend // ... }
完成以上两处修改后,alpha_spaces的未定义报错即可解决,规则也能正常生效。
内容的提问来源于stack exchange,提问作者techsu
相关产品推荐
相关产品推荐

