我尝试在标签之外使用 ValidationProvider 错误,但它不起作用。这是我的代码:
<ValidationObserver
ref="obs"
v-slot="{ errors }"
>
<b-field
:type="{ 'is-danger': errors.phone[0] }"
class="has-margin-bottom-0"
>
<div class="control">
<b-select
v-model="localPrefix"
class="no-danger phone-prefix"
>
<option
v-for="phonePrefix in phonePrefixTypes"
:key="phonePrefix.id"
:value="phonePrefix.id"
>
{{ phonePrefix.prefix }}
</option>
</b-select>
</div>
<ValidationProvider
v-slot="{ errors }"
:vid="name"
:name="label"
mode="lazy"
slim
:rules="maxLength.validation"
>
<b-input
v-model="localPhone"
:maxlength="maxLength.length"
:class="{ 'is-danger': errors.phone[0] }"
:has-counter="false"
type="tel"
expanded
></b-input>
</ValidationProvider>
</b-field>
<b-field
:type="{ 'is-danger': errors.phone[0] }"
:message="errors.phone"
class="is-margin-top-0em"
></b-field>
</ValidationObserver>
问题是,这段代码errors.phone
此时不存在。我想我在对提供者进行任何验证之前尝试使用它,因为如果我使用errors
而不是errors.phone
,它可以工作,但它返回对象电话而不是验证错误。
我想我需要初始化errors.phone
,但我不知道如何在提供程序之外使用 v-slot 变量。
希望大家能理解我的问题,谢谢大家的帮助!