मैं सिर्फ एमवीसी सीख रहा हूं और यह पता नहीं लगा सकता कि निम्नलिखित परिदृश्य को कैसे संभाला जाए, मेरे पास एक शिपिंग पता और बिलिंग पता वाला एक फॉर्म है। सभी फ़ील्ड आवश्यक हैं। "बिलिंग एड्रेस शिपिंग पता के समान है" के लिए एक चेक बॉक्स भी है। मेरी समस्या यह है कि मॉडल स्थिति कभी मान्य नहीं होती है जब तक कि दोनों पते पूरा नहीं हो जाते। मैं कुछ जावास्क्रिप्ट के साथ यह काफी आसानी से संभाल सकता हूं कि शिपिंग पते से मूल्यों को केवल बिलिंग पता फ़ील्ड में जोड़ दिया गया है, लेकिन अगर इसे संभालने का बेहतर तरीका है तो मैं जानना चाहता हूं। यह आमतौर पर कैसे संभाला जाता है इस पर कोई गाइड लाइन बहुत अच्छी होगी। धन्यवाद!मैं एमवीसी 3 में सशर्त सत्यापन कैसे संभाल सकता हूं?
उत्तर
इसे संभालने के कई तरीके हैं। यदि आप क्लाइंट-साइड सत्यापन का उपयोग नहीं कर रहे हैं, तो आप मॉडल पर केवल IValidatableObject को कार्यान्वित कर सकते हैं, और IsValid() विधि को ओवरराइड कर सकते हैं और मॉडल की वैधता की जांच करने के लिए कुछ कोड कर सकते हैं।
यदि आप क्लाइंट-साइड सत्यापन का उपयोग कर रहे हैं, तो आपको कस्टम विशेषता की आवश्यकता है, या fluent validation जैसे कुछ का उपयोग करें।
आप एक कस्टम मान्यता विशेषता बनाकर ऐसा कर सकते हैं:
http://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx
यह का सार है कि आप एक नया वर्ग based off ValidationAttribute
बनाना है, और IClientValidatable
, ओवरराइड और लागू के रूप में आवश्यक हो, अपने ग्राहक को जोड़ने साइड सत्यापन (जिसे आपको किसी भी तरह की आवश्यकता है), और अपने वैकल्पिक फ़ील्ड में विशेषता लागू करें।
या चूंकि सत्यापन जितना जटिल हो उतना जटिल हो सकता है, इसे साझा आंशिक-वैकल्पिक, आंशिक रूप से आवश्यक फ़ील्ड पर लागू करें।
उस लड़के में एक पुस्तकालय का अल्फा भी है जो वह एमवीसी सत्यापन को अधिक लचीला बनाने के लिए लिख रहा है। इसे स्वयं इस्तेमाल नहीं किया है, लेकिन you could give it a try।
- 1. एएसपीनेट एमवीसी सशर्त सत्यापन
- 2. मैं एएसपी.नेट एमवीसी 3 एप्लिकेशन में बेजोड़ अपवाद कैसे संभाल सकता हूं?
- 3. एमवीसी 3 सशर्त रूप से आवश्यक गुण
- 4. एएसपी.नेट एमवीसी 3 - सत्यापन प्रश्न
- 5. स्थानीयकरण एमवीसी 3 सत्यापन संदेश
- 6. MVC 3 विनीत सत्यापन - सशर्त अक्षम/सक्षम सत्यापन
- 7. jQuery अविभाज्य सत्यापन एमवीसी 3
- 8. एमवीसी 3 क्लाइंट साइड सत्यापन
- 9. एमवीसी 3 मॉडल सत्यापन डबल
- 10. मैं Erlang में SIGINT कैसे संभाल सकता हूं?
- 11. मैं उल्का में महत्वपूर्ण घटनाओं को कैसे संभाल सकता हूं?
- 12. मैं गिट रेपो में छवियों को कैसे संभाल सकता हूं?
- 13. मैं रूबी में बड़ी फ़ाइलों को कैसे संभाल सकता हूं?
- 14. मैं जावा में एकाधिक माउस इनपुट कैसे संभाल सकता हूं?
- 15. मैं इस पॉइंटर को getaddrinfo में कैसे संभाल सकता हूं?
- 16. मैं सॉकेट.ओओ में बंद ईवेंट कैसे संभाल सकता हूं?
- 17. मैं कैलिबर्न में लॉगिन/लॉगआउट कैसे संभाल सकता हूं। माइक्रो?
- 18. मैं एएसपी.नेट एमवीसी में सत्यापन संदेश में एचटीएमएल कैसे प्रस्तुत कर सकता हूं?
- 19. मैं पर्ल में एक सशर्त प्रतिस्थापन कैसे कर सकता हूं?
- 20. मैं knockout.js में सशर्त बाध्यकारी कैसे बना सकता हूं?
- 21. मैं अपनी शैली से मेल खाने के लिए एएसपी.नेट एमवीसी 3 में अविभाज्य सत्यापन कैसे अनुकूलित कर सकता हूं?
- 22. एएसपी.नेट एमवीसी 3 मॉडल का आंशिक सत्यापन
- 23. मैं विंडोज़ फॉर्मों को कैसे संभाल सकता हूं datetimepicker ArgumentOutOfRangeException?
- 24. WPF: मैं ListBox आइटम पर क्लिक कैसे संभाल सकता हूं?
- 25. django-haystack ऑर्डरिंग - मैं इसे कैसे संभाल सकता हूं?
- 26. एमवीसी 3 अविभाज्य सत्यापन अजाक्स कॉल
- 27. मैं HTTParty के साथ त्रुटियों को कैसे संभाल सकता हूं?
- 28. मैं तुलना-वस्तु परिणाम कैसे संभाल सकता हूं?
- 29. एएसपी.नेट एमवीसी: मैं कई गुणों के साथ एक दृश्य मॉडल कैसे संभाल सकता हूं?
- 30. एमवीसी 3 क्लाइंट साइड सत्यापन अनियमित/असंगत
क्या आपके बिलिंग और शिपिंग पते अलग मॉडल हैं? या एक मॉडल पैक एक साथ? – chemicalNova
वे एक ही मॉडल पर हैं। दोनों एक ही प्रकार के गुण हैं। – Mike