【发布时间】:2019-03-29 15:49:53
【问题描述】:
所以我想调整生日的自动填充命名。然而,这会导致几个问题。现在我需要确定是否可以强制 vee-validate 更改字段名称。
为了更好地理解它。这是它目前的样子:
<select
v-model="day"
id="day"
name="day"
:class="{'invalid' : errors.has('day')}"
v-validate="'required|excluded:0'"
>
<option
:disabled="true"
value="0"
v-text="trans('food.Day')"
/>
<option
v-for="n in 31"
:key="n"
:value="n"
v-text="n"
/>
</select>
<span
class="bar"
:class="{'invalid' : errors.has('day')}"
/>
选择字段的名称是“day”。 不过根据this,应该命名为:"bday-day"。
由于我使用的是 vee-validate,这会导致将字段名称重命名为“bday-day”。现在errors.has('day')} 将不再工作。
但即使我将其更改为errors.has('bday-day'),我也无法使用我的内部观察者来更改值。我得到了错误:
观看路径失败:“bday-day”Watcher 仅接受简单的点分隔路径。要完全控制,请改用函数。
这是因为我必须强制 v-model 名称和 vee-validate 名称相同。 v-model="bday-day" 无法工作。
为了简短。我的最终目标是这样的:
<select
v-model="day"
id="day"
name="bday-day"
:class="{'invalid' : errors.has('day')}"
v-validate="{required: true, excluded: 0, name: 'day'}"
>
<option
:disabled="true"
value="0"
v-text="trans('food.Day')"
/>
<option
v-for="n in 31"
:key="n"
:value="n"
v-text="n"
/>
</select>
<span
class="bar"
:class="{'invalid' : errors.has('day')}"
/>
我将使用 name="bday-day" 进行自动填充,但我会将 vee validate 的字段名称设置为 name: 'day'。
【问题讨论】:
标签: vue.js vee-validate