I am using the Knockout Validation plugin and setting an observable as required using the extender:
myObservable.extend({required:true});
Is it possible for me to remove the extender after adding it?
You can remove all the validation relates properties form an observable which were added by the ko validation with calling:
myObservable.extend({validatable: false});
Or if you want to only remove the required validation you can remove it from the rules
collection:
myObservable.rules.remove(function (item) {
return item.rule == "required";
});
}
Demo JSFiddle.
But the ko validation has support for conditional validation, so you can specify some condition when the validation should work so maybe this is what you need:
myObservable.extend({
required: {
message: "Some message",
onlyIf: function () { return //some condition; }
}
});
nemesv answer works with a small typo correction - the function in the remove(...) call should return a boolean value (i.e. '==' instead of '='):
myObservable.rules.remove(function(item) { return item.rule == "required"; });
Demo: JSFiddle
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With