如果验证后没有错误,则Vusjs Vee-validate添加类

时间:2018-05-14 08:22:27

标签: vue.js

我有以下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)
        }
    }
}

1 个答案:

答案 0 :(得分:2)

验证后,该字段将具有dirty标志。您可以通过执行$validator.fields.find({ name: name }).flags.dirty来获取脏标志。

这是一个示例,说明如何通过合并dirtyerrors.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)
    }"