-
Notifications
You must be signed in to change notification settings - Fork 369
Open
Description
I just upgraded Knockout.Validation to the latest release (as I need validation on the new textInput binding) and on this existing binding:
<form data-bind="with: new">
....
<button data-bind="enable: isValid, click: $parent.submit">Submit</button> // or isValid()
</form>
... the following error occurs:
Message: Unable to process binding "enable: function(){return isValid() }"
Message: isValid is not defined
at enable (eval at createBindingsStringEvaluator (knockout-3.4.2.debug.js:2992), <anonymous>:3:59)
at update (knockout-3.4.2.debug.js:4211)
at ko.dependentObservable.disposeWhenNodeIsRemoved (knockout-3.4.2.debug.js:3383)
at Function.evaluateImmediate_CallReadThenEndDependencyDetection (knockout-3.4.2.debug.js:2183)
at Function.evaluateImmediate_CallReadWithDependencyDetection (knockout-3.4.2.debug.js:2150)
at Function.evaluateImmediate (knockout-3.4.2.debug.js:2111)
at Object.ko.computed.ko.dependentObservable (knockout-3.4.2.debug.js:1964)
at knockout-3.4.2.debug.js:3381
at Object.arrayForEach (knockout-3.4.2.debug.js:159)
at applyBindingsToNodeInternal (knockout-3.4.2.debug.js:3353)
Basically I do this (heavily reduced code):
model.new = new MyModel();
ko.validatedObservable(model.new);
ko.applyBindings(model);
I also tried it like this, but the same error occurs:
model.new = ko.validatedObservable(new MyModel());
ko.applyBindings(model);
The strange thing is that if I change the button binding as follows, the error is gone, but the button remains disabled even if my model becomes valid:
<button data-bind="enable: $parent.new.isValid, click: submit">Submit</button>
I also checked in the console and executing model.new.isValid() there throws the error "Uncaught TypeError: model.new.isValid is not a function".
I guess something must have changed in either Knockout or Knockout validation but I can't find what could be wrong here.
Metadata
Metadata
Assignees
Labels
No labels