我有以下input.vue模板,一切正常,但如果在输入一些文本并且验证没有错误后如何实现/添加类?
<input
v-validate="validate"
v-on:input="updateValue($event)"
:type="type"
:placeholder="placeholder"
:name="name" :value="value"
:class="{'form-control':'form-control','errorinput': errors.has(name)}"
:id="id">
export default {
inject: ['$validator'],
props: {
validate: String,
type: String,
placeholder: String,
name: String,
value: String,
classname: String,
id: String,
label: String,
labelvalue: String
},
methods: {
updateValue: function (evt) {
console.log(this.errors);
this.$emit('input', evt)
}
}
}
答案 0 :(得分:2)
验证后,该字段将具有dirty
标志。您可以通过执行$validator.fields.find({ name: name }).flags.dirty
来获取脏标志。
这是一个示例,说明如何通过合并dirty
和errors.has
:class="{
'form-control':'form-control',
'errorinput': errors.has(name),
'noerrorinput': $validator.fields.find({ name: name })
&& $validator.fields.find({ name: name }).flags.dirty
&& !errors.has(name)
}"