computed: {
isDisabled: function(){
return
!(this.errmsg.email < this.email.minemail)
}
watch: {
email(value){
// binding this to the data value in the email input
this.email = value;
// eslint-disable-next-line
console.log("email",this.email);
this.validateEmail(value);
}
},
methods: {
validateEmail(value) {
// eslint-disable-next-line
console.log("email",this.email,value);
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value))
{
this.errmsg['email'] = '';
} else{
this.errmsg['email'] = 'Invalid Email Address';
}
},
}
<input type="text" v-validate="'required'" name="email" placeholder="Enter your company email ID" :maxlength="maxemail" id='email' v-model='email' />
<div v-if="errmsg.email" class="invalid-feedback-register">
{{errmsg.email}}
</div>
<button type="submit" :class="(isDisabled) ? '' : 'selected'"
:disabled='isDisabled' v-on:click=" isFirstScreen" @click="persist" >PROCEED</button>
Using watch to handle email input field for validation and it is working fine, But the issue is when trying to disable button based on {{errmsg.email}} its not working.
If email is valid, enable button , otherwise disabled untill user enters correct email id in the field.