के साथ दो गुणों को कैसे सत्यापित करें मैं बस एएसपी.नेट एमवीसी 2 के साथ शुरू कर रहा हूं, और सत्यापन के साथ खेल रहा हूं।एएसपी.नेट एमवीसी 2
मान लीजिए कि मैं 2 गुण होते हैं दो:
- password1
- Password2
और मैं की आवश्यकता होती है कि वे दोनों में भर रहे हैं चाहते हैं, और अपेक्षा करते हैं कि दोनों मॉडल से पहले ही कर रहे हैं यह सही है।
मेरे पास "न्यू यूज़र" नामक एक साधारण श्रेणी है।
मैं इसे कैसे कार्यान्वित करूं? मैंने प्रमाणीकरण एट्रिब्यूट के बारे में पढ़ा है, और इसे समझ लिया है। लेकिन मैं नहीं देखता कि मैं उस सत्यापन को लागू करने के लिए कैसे उपयोग करूंगा जो एक दूसरे के खिलाफ दो या दो से अधिक गुणों की तुलना करता है।
अग्रिम धन्यवाद! समाधान नीचे साथ
समस्या:
तो एक :
इस एक आवेदन करने के लिए लागू किया जाता है, और ModelBinder मॉडल के सत्यापन चलाता है, तो एक समस्या है संपत्ति-स्तर सत्यापन प्रमाणीकरण में कोई त्रुटि है, तो कक्षा-स्तर सत्यापन प्रमाणीकरणनहीं मान्य। मुझे अभी तक इस समस्या का समाधान नहीं मिला है।
यदि आपके पास इस समस्या का समाधान है तो कृपया अपना अनुभव साझा करें। आपका बहुत बहुत धन्यवाद!
समस्या सिर्फ मैं इस के साथ देख सकते हैं, जब मॉडल (इस मामले में वर्ग) के दो गुण, बराबर नहीं हैं, यह विशिष्ट गुणों को त्रुटियों के रूप में इंगित नहीं करता है, जैसे कि [आवश्यक] और <% = Html.ValidationMessageFor (m => m.Password1)%> – CodeMonkey
@CodeMonkey, मैं देखता हूं। हालांकि मुझे यकीन नहीं है कि मॉडल बाइंडिंग का उपयोग करके इसे अन्य तरीके से काम करने के लिए एक सुरुचिपूर्ण समाधान है। आखिरकार, यह तकनीकी रूप से एक वर्ग स्तरीय सत्यापन है। यदि आपको ** ** गुणों में त्रुटियों को जोड़ना होगा, तो बाध्यकारी के बाद अधिकतम नियंत्रक में दो मानों को जांचना सबसे तेज़ समाधान होगा (हालांकि सबसे सुरुचिपूर्ण नहीं)। –
एमवीसी 2 संस्करण में एचटीएमएल। वैलिडेशनसमरी सहायक विधि अब मॉडल-स्तर केवल त्रुटियों को प्रदर्शित कर सकता है – murki