मुझे एक ऐसी स्थिति मिली है जहां मैं एक छवि अपलोड कर रहा हूं जिसे उपयोगकर्ता ने अपने स्थानीय फाइल सिस्टम से चुना है। मेरे विचार में मेरा फॉर्म, मूल रूप से दो सबमिट बटन हैं। एक सामान्य रूप से फॉर्म जमा करने के लिए प्रयोग किया जाता है, और सभी सत्यापन निष्पादित करता है। दूसरा केवल छवि अपलोड करने के लिए है, इस मामले में मैं अभी तक मान्य नहीं करना चाहता हूं।एमवीसी 3 मॉडलस्टेट त्रुटियों को हटाएं
मैं अपने 'अपलोड छवि' एक के "शैली के नाम अभी नहीं" एक वर्ग मूल्य, इसलिए
<input type="submit" name="UploadImageButton" value="Upload Image" class="style-name cancel" />
अब, जब मैं वापस पोस्ट, अपने मॉडल सबमिट बटन देकर क्लाइंट साइड सत्यापन को बंद करने में कामयाब एक संपत्ति अपलोड ImageButton है, जब यह बटन क्लिक किया जाता है, यह इस संपत्ति को पॉप्युलेट करता है (इनपुट का नाम संपत्ति से मेल खाता है)। इस तरह, मुझे पता है कि फ़ॉर्म मेरे सच्चे सबमिट बटन या अपलोड इमेज बटन द्वारा सबमिट किया गया था या नहीं।
मेरा प्रश्न यह है ... मैं सर्वरसाइड सत्यापन को कैसे बंद कर सकता हूं? मैं नहीं चाहता कि प्रमाणीकरण सारांश जानकारी तब दिखाई दे जब उपयोगकर्ता इस बटन पर क्लिक करता है। मुझे पता है कि आप इस
का उपयोग कर कस्टम मॉडल त्रुटियों को जोड़ सकते हैं मैं मॉडल त्रुटियों को निकालने का साधन ढूंढ रहा हूं। क्या यह संभव है?
संपादित करें:
यहाँ है कि मैं क्या के साथ आया था:
foreach (var key in ModelState.Keys.ToList().Where(key => ModelState.ContainsKey(key))) {
//ModelState.Remove(key); //This was my solution before
ModelState[key].Errors.Clear(); //This is my new solution. Thanks bbak
}
:, तो मैं इसे से बाहर एक विस्तार विधि कर दिया है।। इसमें शामिल है (कुंजी)) 'ऐसा लगता है कि जहां खंड अनावश्यक है, क्योंकि ModelState.Keys में प्रत्येक कुंजी का मॉडलस्टेट होगा। Keys.Contains (key) सत्य वापस आती है। –
मैंने प्रश्न और टेक्स्ट को अद्यतन करने के लिए अद्यतन किया हैModelState.ContainsKey पर छोटी विधि, हालांकि आपकी धारणा में आपका गलत है। ये वही काम कर रहे हैं। –
क्षमा करें, मैंने आपके जवाब को खराब या गलत समझाया होगा। आप सही हैं कि 'ModelState.ContainsKey (कुंजी)' और 'ModelState.Contains (कुंजी)' वही काम करते हैं, लेकिन मेरा मुद्दा यह है कि 'ModelState.Keys.ToList()' में सभी मान प्रकृति द्वारा निहित होंगे 'मॉडलस्टेट' में, इसलिए संपूर्ण 'कहां' खंड अनावश्यक है और प्रदर्शन धीमा कर देगा। मामूली बात, यद्यपि। –