2012-12-05 22 views
13

पर स्पष्ट त्रुटि मेरे पास Knockout.js के साथ एक पृष्ठ सेटअप है और नॉकआउट-सत्यापन का उपयोग कर रहा है।नॉकआउट-सत्यापन

पेज लोड के दौरान मैंने एक चयन बॉक्स पर एक और प्लगइन लगाया जो एक बदलाव को सक्रिय करता है, जो सत्यापन को सक्रिय करता है। मुझे जेएस का उपयोग करके उस त्रुटि को साफ़ करने में सक्षम होना चाहिए ताकि मैं एक नए दिखने वाले यूआई से शुरू कर सकूं और फॉर्म पोस्ट पर फीडबैक दे या बॉक्स चेंज का चयन कर सकूं।

मुझे कुछ भी नहीं मिला जो मुझे नॉकआउट-सत्यापन में त्रुटि को साफ़ करने की अनुमति देता है।

उत्तर

4

इस पुल अनुरोध को लागू करके उत्तर मिला।

https://github.com/Knockout-Contrib/Knockout-Validation/pull/184

मुझे सुविधा मैं की जरूरत है देता है।

+0

अपमानित नहीं है, लेकिन मुझे लगता है कि यह उत्तर यह नहीं है कि जब लोग इस कार्यक्षमता को चाहते हैं तो लोगों को कार्रवाई के रूप में लेना चाहिए। कहां से मेरा downvote। मैंने आपके प्रश्न को ऊपर उठाया, हालांकि यह एक अच्छा है! :) –

25

शायद एक बेहतर तरीका इस प्रकार है कि क्या पहले से ही नॉकआउट सत्यापन में कार्यान्वित किया जाता है कहने के लिए property.isModified(false);

यदि आप सभी मान्य गुण के माध्यम से बस पाश रीसेट और कॉल करने के लिए एक पूरे दृश्य मॉडल है कि isModified(false)

देखें comment from Eric Barnard here

आशा है कि

+0

धन्यवाद। साथ ही, यह दूसरों के लिए स्पष्ट हो सकता है लेकिन क्षेत्र को साफ़ करने के बाद आपको इसे करना होगा। उदाहरण: _this टिप्पणी (''); _this.Comment.isModified (गलत)। आसान सत्यापन रीसेट। –

+1

यह वही है जो 'showAllMessages (false) 'आंतरिक रूप से करता है, जैसा कि @yoann –

24

देर जवाब में मदद करता है लेकिन किसी को भी यह आवश्यक है या नहीं:

// assuming the ko.observable on the checkbox is called propBoolean 
var propBooleanlValid = ko.validation.group(self.propBoolean, { deep: false }); 
propBooleanlValid .showAllMessages(false); 

यह अगले सत्यापन तक संदेश छुपाएगा।

+2

द्वारा उत्तर दिया गया है, यह बहुत अच्छा काम करता है! यह को सत्यापन प्रमाणीकरण दस्तावेज़ों में होना चाहिए। – Ross

+2

नोट: सुनिश्चित करें कि आपके कॉन्फ़िगरेशन में आपके पास 'संदेशऑनोडिफाइड: सत्य' है। यदि यह गलत है तो संदेश हमेशा –

+0

दिखाएगा मुझे लगता है कि यह तीनों में से सर्वश्रेष्ठ है –

0

यदि आप किसी इकाई प्रबंधक का उपयोग करते हैं तो सुनिश्चित करें कि इकाई को सत्यापन में शामिल न करें क्योंकि यह अन्य सभी इकाइयों से जुड़ा हुआ है। यह भी देखें How to rollback knockout validation errors?