Mam ko.observableArrays z walidacji na elementy. Użytkownik może oznaczyć element jako usunięty. Kiedy jest oznaczony jako usunięty, muszę wyłączyć sprawdzanie poprawności tego elementu.Sprawdzanie poprawności sprawdzania poprawności Knockout sprawdzanie poprawności
Jak dynamicznie wyłączyć sprawdzanie oryginalności?
Przykład: http://jsfiddle.net/3RZjT/2/
<div data-bind="foreach: names">
<input data-bind="value: name, valueUpdate: 'afterkeydown'" /> <a data-bind="click: deleteMe, text:deleted()?'undelete':'delete'" href="#">delete</a><br/>
</div>
function Person(name){
var self = this;
self.name = ko.observable(name).extend({ required: true});
self.deleted = ko.observable(false);
self.deleteMe = function(){
self.deleted(!self.deleted());
self.deleted.extend({ validatable: !self.deleted()});
};
}
var viewModel = {
names: ko.observableArray([new Person("Ken"), new Person("")])
};
ko.applyBindings(viewModel);
Proszę podać aktualny kod. – Tomalak
Naprawdę nie mam żadnej próby, ponieważ nie wiem, co spróbować. Zaktualizowałem przykład przy użyciu odpowiedzi @Anders, ale nie zadziałało to dla mnie. – Homer
Powinieneś napisać 'self.name.extend ({validatable:! Self.deleted()});' w swojej funkcji 'deleteMe'. – nemesv