MVC3 के साथ आप कस्टम सत्यापन जोड़ने के लिए दो नए तंत्र है। ये हैं (1) सबक्लास वैलिडेशन एट्रिब्यूट या (2) IValidatableObject लागू करें।IValidatableObject - ग्राहक साइड सत्यापन
ValidationAttribute आप IClientValidatable को लागू करने के लिए (और jQuery के माध्यम से एक नया एडाप्टर और विधि दर्ज की) द्वारा अपेक्षाकृत बस ग्राहक साइड सत्यापन को जोड़ने के लिए अनुमति देता है।
IValidatableObject अधिक एक बंद मान्यता आवश्यकताओं को जहां पुन: उपयोग के एक विकल्प नहीं है के लिए अनुकूल है। यह भी slighlty सरल कोड में परिणाम। इसलिए यह कई परिदृश्यों के लिए मेरी पसंद होगी। दुर्भाग्यवश, मुझे इस विधि का उपयोग कर क्लाइंट साइड सत्यापन को लागू करने का एक आसान तरीका नहीं दिख रहा है।
तो प्रश्न यह है कि मैं क्या खो रहा हूं और IValidatableObject का उपयोग करते समय आपको जेएस सत्यापन कैसे प्राप्त होता है?
क्या इसका मतलब यह है कि दृश्य पर एक कस्टम जावास्क्रिप्ट सत्यापन को जोड़ने के लिए कोई आसान तरीका नहीं है? मैं एक साधारण कार्य करना चाहता हूं कि मैं मौजूदा क्लाइंट साइड सत्यापन तंत्र में प्लग कर सकूं। – pauloya
[एक एएसपी.नेट मंच पोस्ट] (http://forums.asp.net/post/5593598.aspx): * वर्तमान में jquery सत्यापन केवल इनपुट फ़ील्ड को मान्य करता है (कोई मॉडल स्तर सत्यापन नहीं), इसलिए कक्षा के लिए कोई प्राकृतिक मैपिंग नहीं है स्तर सत्यापन। मॉडल स्तर सत्यापन जोड़ने का एक आम तरीका एक छिपी हुई फ़ील्ड जोड़ना है, और छिपे हुए मानचित्र मॉडल स्तर सत्यापन को जोड़ना है। * Http://stackoverflow.com/a/5817958/11683 इस दृष्टिकोण को demostrates - अपवाद के साथ कि क्षेत्र छिपा हुआ नहीं है । – GSerg
मॉडल पर एक [रिमोट] विशेषता का उपयोग करने में मदद मिल सकती है; यहां और पढ़ें: http://msdn.microsoft.com/en-us/library/gg508808%28VS.98%29.aspx – Tohid