आप सभी मान्यता को हटा सकते हैं संबंधित गुण एक नमूदार जिसके साथ ko सत्यापन द्वारा जोड़ा गया था के रूप में बुला:
myObservable.extend({validatable: false});
या आप केवल आवश्यक सत्यापन निकालना चाहते हैं तो आप rules
संग्रह से निकाल सकते हैं :
myObservable.rules.remove(function (item) {
return item.rule == "required";
});
}
डेमो JSFiddle।
लेकिन ko सत्यापन conditional validation के लिए समर्थन हासिल है, इसलिए जब मान्यता तो शायद काम करना चाहिए कि आप कुछ शर्त निर्दिष्ट कर सकते हैं कि आप यही जरूरत है:
myObservable.extend({
required: {
message: "Some message",
onlyIf: function() { return //some condition; }
}
});
केवल वही था जो मुझे चाहिए था, लेकिन विस्तारक को हटाने के बारे में मैंने क्या पूछा? क्या यह नॉकआउट द्वारा समर्थित है? –
नहीं, आप एक विस्तारक को तब तक नहीं हटा सकते जब तक कि विस्तारक स्वयं अपने परिवर्तनों को "वापस" करने का तरीका प्रदान न करे। को सत्यापित करने के मामले में 'myObservable.extend ({validatable: false});' कॉल वास्तव में यह करता है कि यह सभी सत्यापन संबंधित सामग्री को हटा देता है जिसे'extend ({required: true}) द्वारा जोड़ा गया था; 'या अन्य नियमों में से कोई भी। – nemesv
myObservable.rules.remove .. अच्छा एक! – JMGH