मैं एएसपी.नेट एमवीसी 2 में डेटा एनोटेशन सत्यापन का व्यापक रूप से उपयोग कर रहा हूं। यह नई सुविधा एक बड़ी समय बचतकर्ता रही है, क्योंकि अब मैं एक ही स्थान पर क्लाइंट-साइड सत्यापन और सर्वर-साइड सत्यापन दोनों को परिभाषित करने में सक्षम हूं। हालांकि, जब मैं कुछ विस्तृत परीक्षण कर रहा था, मुझे एहसास हुआ कि अगर मैं अकेले डेटा एनोटेशन सत्यापन पर निर्भर करता हूं तो सर्वर-साइड सत्यापन को बाईपास करना बहुत आसान है। उदाहरण के लिए, यदि मैंने [आवश्यक] विशेषता के साथ संपत्ति को एनोटेट करके एक आवश्यक फ़ील्ड परिभाषित किया है और उस आवश्यक फ़ील्ड के लिए एक टेक्स्टबॉक्स रखा है, तो उपयोगकर्ता आसानी से डॉम से टेक्स्टबॉक्स हटा सकता है (जिसे आसानी से फायरबग के माध्यम से किया जा सकता है) और अब नियंत्रक के अंदर मॉडलबाइंडिंग के दौरान उस डेटा पर डेटा एनोटेशन सत्यापन ट्रिगर नहीं किया जाएगा। यह सुनिश्चित करने के लिए कि "आवश्यक" सत्यापन ट्रिगर किया गया है, मैं मॉडलबाइंडिंग के बाद सत्यापन को दोहरा सकता हूं, लेकिन फिर मैं अपना सत्यापन तर्क दोहरा दूंगा।एएसपी.नेट एमवीसी: डेटा एनोटेशन प्रमाणीकरण पर्याप्त है?
सत्यापन पर हर किसी की सिफारिश क्या है? डेटा एनोटेशन सत्यापन पर्याप्त है? या यह सुनिश्चित करने के लिए सत्यापन को दोहराया जाना चाहिए कि सभी परिस्थितियों में सत्यापन ट्रिगर हो जाए?
फ़ॉलो-अप टिप्पणी: नीचे दिए गए उत्तर के आधार पर, ऐसा लगता है कि मैं मॉडल बाइंडर और डेटा एनोटेशन सत्यापन पर अकेले भरोसा नहीं कर सकते। चूंकि हम निष्कर्ष निकाल रहे हैं कि अतिरिक्त सर्वर-साइड सत्यापन की आवश्यकता है, क्या डेटा एनोटेशन में परिभाषित किए गए अनुसार के आधार पर मेरी सेवा परत सत्यापन के लिए एक आसान तरीका है? ऐसा लगता है कि यह हमें दोनों शब्दों का सर्वश्रेष्ठ प्राप्त करेगा ... हमें सत्यापन कोड दोहराने की आवश्यकता नहीं होगी, लेकिन हम अभी भी यह सुनिश्चित करेंगे कि सत्यापन बाध्यकारी तब भी निष्पादित हो जाता है जब मॉडल बाइंडर इसे ट्रिगर नहीं करता है।
मैं एक अलग प्रश्न के रूप में इस अनुवर्ती टिप्पणी पोस्ट करने, के रूप में यह मूल की जगह किसी दूसरे प्रश्न बन गया है जा रहा हूँ।
Koritnik की प्रतिक्रिया अपने अनुवर्ती प्रश्न के जवाब। मैं अपनी प्रतिक्रिया उसके द्वारा पोस्ट की गई प्रतिक्रिया के समान करता हूं। सर्वर और क्लाइंट सत्यापन दोनों के लिए समान डेटाअनोटेशन परिभाषा का उपयोग किया जा सकता है। –
डेटा एनोटेशन सत्यापन ठीक है अगर प्रदान किए गए सत्यापन गुण और फ्रेमवर्क स्वयं ही उपयुक्त है। सामुदायिक फीडबैक के कारण एएसपी.नेट एमवीसी 2 आरटीएम के लिए आवश्यक व्यवहार को बदल दिया गया था, इसलिए [आवश्यक] अब काम करता है जैसा आप उम्मीद करेंगे। ऑप्टिनली, जांचें: सत्यापन ब्लॉक (एंटरप्राइज़ लाइब्रेरी), xVal, NHibernate Validators (माना जाता है कि एनएचबीरनेट ओआरएम पर कोई निर्भरता नहीं है)। – miha
'" मैं इस अनुवर्ती टिप्पणी को एक अलग प्रश्न के रूप में पोस्ट करने जा रहा हूं, क्योंकि यह मूल के मुकाबले एक अलग सवाल है। "इसका एक लिंक बुरा विचार नहीं होगा, आह? – Sinjai