एक पारंपरिक एमवीसी अनुप्रयोग कोडिंग में, सर्वर-साइड फॉर्म सत्यापन कोडिंग के लिए सबसे अच्छा अभ्यास क्या है? क्या कोड नियंत्रक, या मॉडल परत में है? और क्यों?एमवीसी - फॉर्म सत्यापन (सर्वर-साइड) को कार्यान्वित करने के लिए कहां?
उत्तर
विकिपीडिया से:
Model-view-controller (MVC) एक वास्तुशिल्प सॉफ्टवेयर इंजीनियरिंग में प्रयोग किया जाता पैटर्न है। पैटर्न का सफल उपयोग उपयोगकर्ता इंटरफ़ेस विचारों से व्यवसाय तर्क को अलग करता है, जिसके परिणामस्वरूप एक एप्लिकेशन होता है जहां आवेदन की दृश्य उपस्थिति या अंतर्निहित व्यावसायिक नियमों को अन्य को प्रभावित किए बिना संशोधित करना आसान होता है। एमवीसी में, मॉडल आवेदन की जानकारी (डेटा) और डेटा में हेरफेर करने के लिए उपयोग किए जाने वाले व्यावसायिक नियमों का प्रतिनिधित्व करता है; दृश्य उपयोगकर्ता इंटरफ़ेस के तत्वों जैसे पाठ, चेकबॉक्स आइटम, और बहुत आगे के अनुरूप है; और नियंत्रक कुंजीस्ट्रोक और माउस आंदोलनों जैसे उपयोगकर्ता क्रियाओं के मॉडल को संचार से जुड़े विवरणों का प्रबंधन करता है।
इस प्रकार, मॉडल - इसमें एप्लिकेशन और व्यवसाय नियम हैं।
मैं पूरी तरह से जोश से सहमत हूं। हालांकि आप नियंत्रक और मॉडल के बीच एक प्रकार की सत्यापन परत बना सकते हैं ताकि अधिकांश सिंटैक्टिकल सत्यापन मॉडल पर पहुंचने से पहले डेटा पर किए जा सकें।
उदाहरण के लिए,
सत्यापन परत दिनांक स्वरूप, राशि प्रारूप, अनिवार्य क्षेत्रों, आदि को मान्य होगा ...
ताकि मॉडल विशुद्ध रूप से व्यापार सत्यापन पर ध्यान केन्द्रित करेगा, एक्स राशि की तरह से अधिक होना चाहिए वाई राशि
एमवीसी के साथ मेरा अनुभव अब तक पूरी तरह से रेल के होते हैं।
रेल मॉडल में यह मान्यता 100% है।
अधिकांश भाग के लिए यह बहुत अच्छी तरह से काम करता है। मैं कहूंगा कि 10 बार में से 9 बार आपको इसकी ज़रूरत है।
कुछ ऐसे क्षेत्र हैं जहां आप एक फॉर्म से सबमिट कर रहे हैं, यह आपके मॉडल के साथ ठीक से मेल नहीं खाता है। कुछ अतिरिक्त फ़िल्टरिंग/पुनर्व्यवस्थित हो सकते हैं या इसी तरह।
मुझे मिली स्थितियों को हल करने का सबसे अच्छा तरीका है गलत मॉडल मॉडल बनाना, जो मूल रूप से मॉडल ऑब्जेक्ट्स की तरह कार्य करता है लेकिन फॉर्म डेटा के साथ 1-से-1 मानचित्र करता है। ये गलत-मॉडल ऑब्जेक्ट्स वास्तव में कुछ भी सहेजते नहीं हैं, वे सत्यापन के साथ डेटा के लिए केवल एक बाल्टी हैं।
ऐसी बात का एक उदाहरण (रेल में) ActiveForm
एक बार डेटा उन में हो जाता है (और मान्य है) यह आम तौर पर सीधे अपने वास्तविक मॉडल को भर में स्थानांतरित करना एक बहुत सरल कदम है।
मूल वाक्यविन्यास जांच नियंत्रण में होना चाहिए क्योंकि यह मॉडल के लिए उपयोगकर्ता इनपुट का अनुवाद करता है। मॉडल को वास्तविक डेटा सत्यापन करने की आवश्यकता है।
- 1. एमवीसी परियोजना में सत्यापन कहां होना चाहिए?
- 2. एमवीसी आर्किटेक्चर में डेटा और फॉर्म सत्यापन
- 3. एमवीसी 2 jQuery सत्यापन और AJAX फॉर्म
- 4. इनपुट सत्यापन एक एमवीसी अनुप्रयोग में कहां से संबंधित है?
- 5. एमवीसी पैटर्न में सत्यापन परत
- 6. प्लेफ्रेमवर्क अवैध सत्यापन के बाद फॉर्म सत्यापन
- 7. jQuery सत्यापन के साथ एएसपी.नेट एमवीसी अजाक्स फॉर्म
- 8. एमवीसी कंट्रीब सत्यापन सत्यापन
- 9. पायथन फॉर्म सत्यापन पुस्तकालय के लिए सिफारिश
- 10. jquery सत्यापन: फॉर्म को रोकें
- 11. सिम्फनी 2 फॉर्म के लिए जावास्क्रिप्ट सत्यापन
- 12. जावास्क्रिप्ट फॉर्म-सत्यापन फ्रेमवर्क:
- 13. एएसपी.NET एमवीसी 3: सत्र हानि को संभालने के लिए कहां?
- 14. वसंत एमवीसी एनोटेशन सत्यापन पूर्णांक
- 15. एएसपी.नेट एमवीसी को सत्यापन गुण
- 16. एएसपीनेट एमवीसी 3 फॉर्म
- 17. फॉर्म सत्यापन सत्यापन त्रुटि पर Django फॉर्म फ़ील्ड साफ़ करना?
- 18. आप विंडोज फॉर्म एप्लिकेशन में एमवीसी कैसे कार्यान्वित करेंगे?
- 19. रेल फॉर्म सत्यापन
- 20. स्प्रिंग एमवीसी सत्यापन त्रुटि कोड कहां हल किए गए हैं?
- 21. आप वेब एप्लिकेशन में फॉर्म डेटा के लिए सत्यापन नियम कहां रिकॉर्ड करते हैं?
- 22. Django जावास्क्रिप्ट फॉर्म सत्यापन
- 23. codeigniter फॉर्म सत्यापन
- 24. विशिष्टता के एएसपी.नेट एमवीसी सत्यापन
- 25. node.js के साथ सर्वरसाइड वेबकिट
- 26. PHP साइनअप फॉर्म सत्यापन
- 27. एएसपी.नेट एमवीसी - अपवाद फेंकने के लिए कहां?
- 28. एमवीसी फॉर्म
- 29. एमवीसी अविभाज्य रिमोट सत्यापन के लिए इवेंट हुक
- 30. पासवर्ड को रीसेट करने के लिए Django + फॉर्म