9

आप सर्वर और क्लाइंट-साइड पर सत्यापन के डुप्लिकेशंस से कैसे बचते हैं? क्या कोई वेब प्रोग्रामिंग प्लेटफार्म है जो एक दूसरे से उत्पन्न करता है, इसलिए मुझे दोनों को सिंक में रखना नहीं है?आप सर्वर और क्लाइंट-साइड पर सत्यापन के डुप्लिकेशंस से कैसे बचते हैं?

उत्तर

2

अधिकतर क्लास साइड स्क्रिप्टिंग को छोड़ दें और आजकल सर्वर पक्ष करें। आप पोस्ट भेजते समय AJAX का उपयोग कर सकते हैं, ताकि प्रतिक्रिया पूरे पृष्ठ को पुनः लोड करने से थोड़ा हल्का वजन हो।

2

सर्वर-साइड सत्यापन केवल इसलिए आवश्यक है क्योंकि क्लाइंट-साइड सत्यापन अक्षम किया जा सकता है।

क्लाइंट-साइड सत्यापन की आवश्यकता नहीं है, लेकिन यह आपके एप्लिकेशन को त्रुटि प्रबंधन के दौरान अधिक प्रतिक्रियाशील बनाता है, क्योंकि अब आपको सर्वर पर सबमिट करने की आवश्यकता नहीं है और परिणामस्वरूप पृष्ठ वापस आने की प्रतीक्षा करें।

एक अच्छी तरह से डिज़ाइन किया गया एप्लिकेशन दोनों का उपयोग करता है।

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

+0

यह पूछ रहे हैं वास्तव में इस सवाल का जवाब नहीं है ऐसा करने के लिए सत्यापनकर्ता नियंत्रण था। यह दोनों की एक परिभाषा है, जबकि वह पूछता है कि दोनों के लिए तर्क के दोहराव को कैसे रोकें। –

0

अधिकांश मामलों में सर्वर पक्ष पर सत्यापन करना सबसे अच्छा है। एजेक्स जैसे या PHP में चिपचिपा रूपों का उपयोग करने के लिए आपके पास कई अलग-अलग विकल्प हैं। मैं व्यक्तिगत रूप से सर्वर पक्ष पर सत्यापन करना चाहता हूं क्योंकि उपयोगकर्ता के पास जावास्क्रिप्ट को बंद करने का विकल्प है और वे सर्वर पर सत्यापन बंद नहीं कर सकते हैं .....

5

ऐसे ढांचे हैं जो क्लाइंट-साइड उत्पन्न कर सकते हैं सर्वरसाइड सत्यापन विन्यास से सत्यापन।

अब मैं क्या भाषा या चौखटे प्रयोग कर रहे हैं पता नहीं है, लेकिन शायद इस लेख सहायक हो सकता है: http://www.emadibrahim.com/2008/09/08/client-server-side-validation-in-aspnet-mvc/

वह clientside आधारित सत्यापन उत्पन्न करने के लिए JQuery के साथ एक साथ कैसल सत्यापनकर्ता घटक उपयोग कर रहा है और कहते हैं कुछ गोंद सर्वरसाइड सत्यापन गुणों पर। यह एएसपीएनटी एमवीसी के लिए है।

/Asger

+0

मैं कुछ ऐसा नहीं ढूंढ रहा हूं जो एमएस नहीं है, और उदाहरण वास्तव में ऐसा नहीं लगता था कि यह समग्र रूप से चीजों को सरल बना देगा। – josh

+0

वैसे भी सिद्धांत अन्य प्लेटफार्मों में स्थानांतरित करना संभव होना चाहिए ... आप कौन सी भाषा/ढांचा/मंच पसंद करते हैं? – asgerhallas

2

दूसरों उल्लेख किया है, आप, दोहराव रखना चाहिए के रूप में क्लाइंट-साइड मान्यता आवेदन मदद जल्दी प्रतिक्रिया उपयोगकर्ता में मदद करने के लिए है, लेकिन, असली सत्यापन सर्वर साइड पर है, क्योंकि जब तक इसे सत्यापित नहीं किया जाता है तब तक आपको किसी भी तरह से भरोसा नहीं करना चाहिए। यदि आप किसी डेटा स्रोत के खिलाफ जांच करने की आवश्यकता रखते हैं, तो आप शायद सर्वर-साइड पर अधिक व्यापक सत्यापन करेंगे, उदाहरण के लिए, उपयोगकर्ता नाम अद्वितीय उपयोगकर्ता नाम पर होगा, लेकिन उपयोगकर्ता नाम काफी लंबा है, या ईमेल पता, क्लाइंट-साइड और सर्वर-साइड पर किया जा सकता है।

जब मैं दोहराव करता हूं, तो मैं टिप्पणियों में डालता हूं, खासकर अगर मैं एक नियमित अभिव्यक्ति का उपयोग कर रहा हूं, यह सुनिश्चित करने के लिए कि किसी में क्या परिवर्तन होता है।

अच्छा यूनिट परीक्षण यह सुनिश्चित करने में मदद करेगा कि ये दोनों हमेशा समन्वयित रहेंगे।

+0

कोई यूनिट परीक्षण कैसे लिखता है जो सर्वर-साइड सत्यापनकर्ता और क्लाइंट-साइड सत्यापनकर्ता दोनों का परीक्षण करेगा? ऐसा लगता है कि सामान्य मामले में, आप इकाई परीक्षणों (प्रत्येक भाषा के लिए एक) के डुप्लीकेट सेट के साथ समाप्त हो जाएंगे, और उन यूनिट परीक्षण सिंक से बाहर हो सकते हैं। –

+0

आपके पास दो परीक्षण होंगे, लेकिन सर्वर-साइड क्लाइंट साइड की तुलना में अधिक चेक करेगा, क्योंकि क्लाइंट सिर्फ यह देखने के लिए देख रहा है कि डेटा लगभग सही है या नहीं, लेकिन पूर्ण शुद्धता सर्वर के लिए एक नौकरी है। –

0

आप क्या कर सकते हैं सर्वर-साइड सत्यापन तर्क वेब सेवाओं द्वारा चलाया जा रहा है कि आपके क्लाइंट-साइड सत्यापन AJAX के माध्यम से कॉल कर सकते हैं और जब आप अपने सर्वर पर वापस पोस्ट करते हैं।

0

यह आपके प्रश्न का उत्तर नहीं देना है, लेकिन आप अपने शीर्षक को संशोधित करना चाहते हैं, इसलिए यह पाठक को भ्रमित नहीं करता है, "सर्वर और क्लाइंट-साइड सिंक्रनाइज़ेशन पर सत्यापन कैसे रखें?"

शीर्षक के विचार या तो एक) पाठक आप पूछ रहे हैं या ख) पाठक बनाने का एहसास वह/वह अपने प्रश्न को समझने के लिए अपनी सामग्री को पढ़ने के लिए है।

2

मुझे लगता है कि किसी न किसी तरह की जानकारी देना है सबसे अच्छा तरीका एक घटक का उपयोग करना है जो दोनों प्रदान करता है। उनके कोड का परीक्षण किया गया है, और आपको इसे बनाए रखने की आवश्यकता नहीं है। मैंने अतीत में Peter Blum's नियंत्रणों का उपयोग किया है। इसके अलावा मुझे लगता है कि आपको बनाए रखना होगा यदि आप दोनों को पेश करना चाहते हैं तो दो कोड बेस। Script# नामक एक उपकरण है जो सी # को जावास्क्रिप्ट में संकलित करने में मदद कर सकता है (यह एक अनुवाद है, असली संकलन नहीं है), लेकिन मुझे यकीन नहीं है कि यह इस स्थिति के लिए कितना अच्छा काम करेगा।

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