मुझे इसमें एक इनपुट के समूह के साथ एक फॉर्म को सत्यापित करने की आवश्यकता है। और, यदि कोई इनपुट अमान्य है, तो उस रूप में दृश्य रूप से इंगित करें कि एक विशेष विशेषता अमान्य है। इसके लिए मुझे प्रत्येक फॉर्म तत्व व्यक्तिगत रूप से मान्य करने की आवश्यकता है।बैकबोन: गुणों को मान्य करना एक
मेरे पास एक मॉडल & एक दृश्य है जो पूरे रूप का प्रतिनिधित्व करता है। अब जब मैं एक विशेषता अद्यतन करता हूं:
this.model.set('name', this.$name.val())
मॉडल पर मान्य विधि कहा जाएगा।
लेकिन, उस विधि में मैं सभी गुणों को मान्य कर रहा हूं, इसलिए उपर्युक्त विशेषता को सेट करते समय, अन्य सभी को भी मान्य किया जाता है, और यदि कोई अमान्य है, तो एक त्रुटि लौटा दी जाती है। इसका मतलब है कि भले ही मेरा 'नाम' विशेषता मान्य है, मुझे दूसरों के लिए त्रुटियां मिलती हैं।
तो, मैं केवल एक विशेषता को कैसे सत्यापित करूं?
मुझे लगता है कि वैध() विधि के माध्यम से केवल एक विशेषता को मान्य करना संभव नहीं है। एक समाधान वैध विधि का उपयोग नहीं करना है, और इसके बजाय 'परिवर्तन' ईवेंट पर प्रत्येक विशेषता को मान्य करना है। लेकिन फिर यह बहुत सारे बदलाव हैंडलर बना देगा। क्या यह सही दृष्टिकोण है? मैं और क्या कर सकता हुँ?
जब भी आप
model.set()
का उपयोग मॉडल पर एक विशेषता सेट करने के लिए, आपके सत्यापन विधि चलाया जाता है और सभी गुण मान्य किए जाते हैं:मैं भी है कि इस रीढ़ की हड्डी में एक बड़ा मुद्दा को इंगित करता है लगता है। यह counterintuitive लगता है क्योंकि आप बस उस एकल विशेषता को सत्यापित करना चाहते हैं।
मैं मानता हूँ कि अगर इस डिजाइन के द्वारा होता है, यह वास्तव में एक समस्या है एक भी विशेषता पर मान्यता कह सकते हैं। यदि आप किसी फॉर्म के लिए मॉडल बना रहे हैं, तो कई फ़ील्ड रिक्त होंगे और इस प्रकार एक अमान्य स्थिति में होंगे। क्या फील्ड परिवर्तन केवल सहेजने से पहले मॉडल में संग्रहीत किया जाना चाहिए() कहा जाता है? वर्तमान में फील्ड परिवर्तनों के लिए ईवेंट प्रतिनिधि हैं। – SAGExSDX