मेरे पास ko.observable आइटम पर सत्यापन के साथ है। उपयोगकर्ता हटाए गए आइटम को चिह्नित कर सकता है। जब इसे हटाए गए के रूप में चिह्नित किया जाता है, तो मुझे उस आइटम पर सत्यापन अक्षम करने की आवश्यकता होती है।नॉकआउट प्रमाणीकरण अक्षमता
आप गतिशील रूप से सत्यापन को कैसे अक्षम करते हैं?
उदाहरण: 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);
कृपया अपने वर्तमान कोड शामिल हैं। – Tomalak
मेरे पास वास्तव में कोई प्रयास नहीं है क्योंकि मुझे नहीं पता कि क्या प्रयास करना है। मैंने @Anders उत्तर का उपयोग करके एक उदाहरण के साथ अद्यतन किया है, लेकिन यह मेरे लिए काम नहीं करता है। – Homer
आपको 'self.name.extend ({validatable:! Self.deleted()}) लिखना चाहिए;' आपके 'deleteMe' फ़ंक्शन में। – nemesv