[英]Using vue.js and vee-validate, date validation using after: and a computed field doesn't seem to work
[英]Error in validation in vue js using vee-validate
我是 vue.js 的新手。 我正在尝试使用 vee-validate 库为表单添加验证,但出现以下错误:
属性或方法“错误”未在实例上定义,但在渲染期间被引用。 确保在 data 选项中声明反应数据属性。
渲染 function 时出错:“TypeError:无法读取未定义的属性‘具有’”
vue.version = ^2.3.3
vee-validate.version = ^3.4.5 代码是:
<div class="tile is-parent">
<article class="tile is-child box">
<h1 class="title">Add new AC Default</h1>
<form>
<div class="field">
<label class="label">Name</label>
<div class="control">
<input name="name"
v-model="form.name"
v-validate="'required|min:3'"
v-bind:class="{'is-danger': errors.has('name')}"
class="input" type="text" placeholder="Full name">
</div>
<p class="help is-danger" v-show="errors.has('name')">
{{ errors.first('name') }}
</p>
</div>
</form>
</article>
</div>
脚本是:
import Vue from 'vue';
...
export default {
components: {
...
},
data() {
return {
form: {
entityId: '',
defaultValue: '',
displayName: '',
name: '',
},
};
},
created() {
this.getInitialData();
},
computed: {
...
},
methods: {
getInitialData() {
...
},
},
};
我在这里想念什么?
您正在尝试使用errors
,但它没有在您的data
中或作为prop
定义。
当你实例化VeeValidate
时,你可以像这样传递一个errorBagName :
Vue.use(VeeValidate, {
events: 'blur',
errorBagName: 'vErrors',
});
然后在您的组件中,您可以通过vErrors.collect('name')
收集错误。 我还建议将您的错误包命名为更详细的名称,例如vErrors
而不仅仅是errors
,以防止潜在的冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.