vuejs2 - Vuelidate how to conditionally disable submit button -
how can conditionally disable submit button of vuelidate form if fields don't meet required criteria?
i tried below :disabled accept word disabled in there.
<form> <ol> <li class="inputquestion" v-bind:class="{ 'error': $v.user.username.$error }"> <label>username:</label> <input v-model.trim="user.username" @input="$v.user.username.$touch()" /> </li> <li class="inputquestion" v-bind:class="{ 'error': $v.user.password.$error }"> <label>password:</label> <input v-model.trim="user.password" @input="$v.user.password.$touch()" /> </li> <li class="submission"> <button @click.prevent="submitform" :disabled="$v.form.valid()">sign in</button> </li> </ol> </form>
currently, binding disabled value returned $v.form.valid(), run once when component's template rendered , won't change after point.
from vuelidate documentation, looks provided $invalid property form model which:
indicates state of validation given model. becomes true when of it's child validators specified in options returns falsy value. in case of validation groups, grouped validators considered.
use instead:
<button @click.prevent="submitform" :disabled="$v.form.$invalid">
Comments
Post a Comment