I am trying to make a field required if feature is enabled(if you select checkbox). But that validation is not triggering by click on select/unselect checkbox
<b-form-checkbox v-model="form.banner.enabled">
<span class="label-title control-label">Enable</span>
</b-form-checkbox>
Vue js
validations: {
form: {
banner:{
image:{
required: requiredIf(function() {
console.log("Image validator called")
return this.form.banner.enabled;
})
}
}
},
},
I unselect checkbox, Still Image field gives an error that Its required
<b-form-input id="bannerImage" name="bannerImage" v-model="form.banner.image" :state="$v.form.banner.image.$dirty ? !$v.form.banner.image.$error : null"></b-form-input>
<b-form-invalid-feedback >
<span >The image field is required.</span>
</b-form-invalid-feedback>
You can replicate -
Remove the value of image and uncheck enabled
option and click save. It will give an error The image field is required.
because validator is not calling on submit. Code for submit is
this.$v.form.$touch()
if (this.$v.form.$anyError) {
return; //return if any error
}
//execute save form code if no error