【发布时间】:2020-12-04 23:52:06
【问题描述】:
我正在尝试使用 v-validate 验证动态字段,但它适用于非动态字段,但相同的代码不适用于动态生成的字段:
<div v-if="condition=='true'>
<input :name="user.name" class="form-control input-md" type="text" :v-model="user.user_value" :v-validate="'required'" :class="['form-control', {'is-invalid': errors.has(user.name)}]"/>
<div :v-show="errors.has(user.name)" class="invalid-feedback">
{{ errors.first(user.name) }}
</div>
</div>
export default {
data() {
return {
user: {},
form: new Form({
contact: "",
}),
};
},
methods: {
getvalues() {
axios.get(APP_URL + `/api/get-values?Id=${id}`, { headers: header })
.then((response) => {
for (var i = 0;i < response.data.list[0].student.length; i++) {
var id = response.data.list[0].student[i].id;
var name = response.data.list[0].student[i].name;
}
this.form.user.push({
id: id,
name: name,
user_value: "",
});
}
},
【问题讨论】:
-
你必须使用
v-if,因为它不是在html中呈现的。 -
@Danizavtz:我有一个外部 div,我使用了 v-if,更新了问题中的代码,请检查,我的主要问题是验证动态字段。
-
您使用的是哪个版本的 v-validate?
-
@Danizavtz 的样子,他用
v2.*.* -
您正在绑定 :name 和 :v-model。具有不同的字段。
标签: javascript jquery vue.js vuejs2 vee-validate