2010-12-10 17 views
5

के साथ क्लाइंट-साइड मॉडल-स्तरीय या फॉर्म लेवल सत्यापन मैं jQuery सत्यापन के साथ एएसपी.नेट एमवीसी 3 का उपयोग कर रहा हूं + एमवीसी 3 के साथ आने वाले अविभाज्य सत्यापन समर्थन। लगभग हर चीज के लिए बहुत अच्छा काम करता है, लेकिन मेरे पास एक ऐसा दृश्य है जहां कुछ दृश्य-व्यापी सत्यापन है जो मुझे करने की ज़रूरत है और मुझे यकीन नहीं है कि एमवीसी 3 + मान्य + अनब्रेसिव के हिस्से के रूप में होने वाली सत्यापन घटनाओं में कैसे टैप करना है। वास्तविक सत्यापन कोड की केवल कुछ पंक्तियां लेगा। मुझे नहीं पता कि उस कोड में कहां प्लग करना है।एएसपी.नेट एमवीसी 3

मैं मौजूदा सत्यापन प्रवाह में जोड़ना चाहता हूं ताकि जब मानक सत्यापन व्यक्तिगत फ़ील्ड के साथ त्रुटियों को पाता है और उनके लिए चेतावनी संदेश जोड़ता है, तो मेरा फॉर्म-व्यापी त्रुटि संदेश सत्यापन सारांश में भी दिखाई देगा।

पीएस मैं स्पष्ट हूं कि सर्वर पक्ष पर उचित मॉडल-स्तरीय सत्यापन कैसे जोड़ना है (स्कॉट केवल blogged इसके बारे में), लेकिन मुझे लगता है कि क्लाइंट पर कुछ मान्यता और अन्य सर्वर पर केवल कुछ अजीब बात होती है। उपयोगकर्ता क्लाइंट सत्यापन त्रुटियों को देख सकता है, उन्हें ठीक कर सकता है, फिर फॉर्म सबमिट करने का प्रयास करें और केवल मॉडल-स्तरीय सत्यापन त्रुटि संदेश प्राप्त करें।

उत्तर

-2

आपको हमेशा सर्वर पर फिर से सत्यापित करना चाहिए। जावास्क्रिप्ट सत्यापन को बाधित करना वास्तव में आसान है।

नियम वेब विकास की # 1: कभी ट्रस्ट उपयोगकर्ता इनपुट

+7

जबकि आपका जवाब अच्छी सलाह है समझाने के आसपास अन्य लेख, यह वास्तव में सवाल से कोई लेना देना नहीं है। वह सोच रहा है कि पूरे मॉडल में कस्टम सत्यापन कैसे जोड़ना है (यह नहीं पूछना कि जावास्क्रिप्ट-केवल सत्यापन कैसे करें)। – jessegavin

+0

मुझे पता है। मैं इस पंक्ति का जवाब दे रहा हूं: "लेकिन मुझे लगता है कि यह अजीब होगा अगर ग्राहक पर कुछ सत्यापन हुआ और दूसरों को केवल सेवा पर" पढ़ने के लिए डरावना। – jfar

+2

बेशक इसे सर्वर पर फिर से सत्यापित किया जाएगा। यह क्लाइंट सत्यापन बेकार नहीं बनाता है। मेरा बयान का अर्थ यह था कि यह एक अजीब उपयोगकर्ता अनुभव है यदि आपके कुछ फ़ील्ड क्लाइंट और सर्वर दोनों पर मान्य हैं और अन्य केवल सर्वर पर मान्य हैं। उपयोगकर्ता क्लाइंट सत्यापन से ठीक करने के लिए आवश्यक त्रुटियों की एक सूची देखते हैं और सोचते हैं कि वे किए गए हैं, फिर वे वास्तव में सबमिट करते समय सर्वर से अतिरिक्त त्रुटियां प्राप्त करते हैं। –

1

मैं कहूंगा कि क्या आप देख रहे हैं Asp MVC3 में रिमोट मान्यता के लिए नए समर्थन है। यहां एक सामान्य परिदृश्य का वर्णन करने वाला एक लेख है, उम्मीद है कि आप इसे स्वयं बढ़ा सकते हैं। अन्यथा शायद रहे हैं इसे और भी बेहतर ;-)

http://www.aaronstannard.com/post/2010/12/07/remote-validation-asp-net-mvc3.aspx

/विक्टर

+0

रिमोट सत्यापन काम कर सकता है, लेकिन मुझे सत्यापन तर्क करने के लिए एकाधिक फ़ील्ड (जो इंटरैक्ट) के मानों की आवश्यकता है। –

+0

निश्चित रूप से, लेकिन यह वास्तव में एक समस्या नहीं होनी चाहिए, है ना? उदाहरण के लिए PasswordsMustMatchAttribute यहां देखें: http://forums.asp.net/p/1625928/4189265.aspx - कक्षा (व्यूमोडेल) पर लागू होने पर आप उस कक्षा में सभी गुणों की जांच कर सकते हैं। – Victor

संबंधित मुद्दे