2010-08-09 16 views
8

जावास्क्रिप्ट का उपयोग करके अपने एचटीएमएल फॉर्म को मान्य करने में क्या बात है, अगर आपको हमेशा PHP का उपयोग करके फ़ॉर्म को प्रमाणित करने की आवश्यकता होगी? मुझे एहसास है कि आप इससे गति बढ़ाते हैं, और उपयोगकर्ता के लिए यह अधिक सुविधाजनक है, लेकिन इससे परे, क्या इसके लायक समय बिताया गया है? अगर किसी के पास इस पर कोई अच्छा सबूत है तो मुझे यह सुनना अच्छा लगेगा।जावास्क्रिप्ट का उपयोग करके फ़ॉर्म को वैध क्यों करना चाहिए?

किसी भी मदद के लिए धन्यवाद!
महानगरों

अद्यतन

मैं सवाल एक छोटे से परिवर्तन करना चाहते हैं कई जवाब प्राप्त करने के बाद। हम सभी जानते हैं कि जावास्क्रिप्ट उपयोगकर्ता के लिए अधिक सुविधाजनक है और यह तेज प्रतिक्रिया देता है। मैं क्या सोच रहा हूं: क्या किसी ने कभी भी "सबूत" देखा है जो इसके लायक है? या क्या हम इसे करते हैं क्योंकि यह चीजों को थोड़ा बेहतर बनाता है और हर कोई कहता है कि हमें चाहिए? गति अंतर इतना महत्वपूर्ण नहीं है, और जैसे ही इंटरनेट तेज़ी से हो जाता है, जावास्क्रिप्ट सत्यापन और भी अप्रचलित हो जाएगा जो मुझे लगता है।

मुझे आश्चर्य है कि जावास्क्रिप्ट का उपयोग करके किसी पृष्ठ को सत्यापित करने में व्यतीत समय बेहतर खर्च किया जा सकता है।

+1

मैं पूरी तरह से आपसे सहमत हूं, मैं केवल सजावट के लिए जेएस का उपयोग नहीं करता हूं, केवल सजावट के लिए :) – darma

+2

प्रश्न से हम महसूस करते हैं कि आप सर्वर-सत्यापन और उपयोगकर्ता-सत्यापन दोनों को समझते हैं, इसलिए ** वास्तविक सवाल यह है कि यदि समय बिताया गया है बेहतर उपयोगकर्ता अनुभव बनाना बर्बाद हो गया है या नहीं **। यह बहुत ही व्यक्तिपरक है। – Frankie

+0

@ फ्रैंकी हाँ आप सही हैं ..... मैं वास्तव में क्या देख रहा हूं वह अच्छा है "सबूत" कि रस निचोड़ के लायक है। क्या इस पर कोई अध्ययन किया गया है? यहां प्राप्त अधिकांश उत्तरों ने मुझे पहले ही बताया है कि मुझे क्या पता है। हर कोई हमेशा कहता है "जावास्क्रिप्ट उपयोगकर्ता के लिए आसान बनाता है", लेकिन क्या यह वास्तव में भुगतान करता है? या क्या हम इसे सिर्फ इसलिए करते हैं क्योंकि यह उनके लिए आसान बनाता है और मानता है कि यह भुगतान करता है? – Metropolis

उत्तर

15

आदर्श रूप से, आप जावास्क्रिप्ट और (आपके मामले में) PHP के माध्यम से मान्य करते हैं।

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

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

आप सुरक्षा के लिए सर्वर-साइड मान्य करते हैं। आप सर्वर पर सबकुछ नियंत्रित कर सकते हैं और क्लाइंट मशीन पर कुछ भी नहीं कर सकते। यह यहां है कि आप सुनिश्चित करते हैं कि सभी दर्ज डेटा गैर-दुर्भावनापूर्ण और सही है।

इसे ध्यान में रखें: यदि आप केवल एक प्रकार के सत्यापन के साथ जाने जा रहे हैं, तो सर्वर-साइड सत्यापन चुनें क्योंकि यह अधिक सुरक्षित है। आपको कभी किसी भी प्रकार की सुरक्षा के लिए क्लाइंट-साइड कोड पर भरोसा करना चाहिए।

दोनों प्रकार के सत्यापन का उपयोग करके आप दोनों दुनिया (प्रतिक्रिया और सुरक्षा) का सर्वोत्तम प्रदर्शन करते हैं, जबकि डाउनसाइड्स में से कोई भी नहीं है। बेशक, इसका मतलब है कि आपको अधिक कोड लिखना है, लेकिन मेरी राय में, यह इसके लायक है।

संपादित करें: टिप्पणी

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

हाँ, समय धन है, और समय उपयोगकर्ता के अनुभव में सुधार करने के लिए निवेश किया गया है। यदि आप इसे (डेडलाइन/शेड्यूल/बजट) करने के लिए बर्दाश्त नहीं कर सकते हैं तो ऐसा कर सकते हैं जब आप कर सकते हैं।

+0

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

+8

आपके लिए सुविधाजनक क्या है, इस बारे में सोचना बंद करें और USER के लिए सुविधाजनक क्या है इसके बारे में सोचना शुरू करें। ;) –

+0

@ लीम एलओएल मैं सहमत हूं ...... लेकिन समय पैसा है। – Metropolis

-9

PHP सर्वरसाइड चलाता है, जावास्क्रिप्ट क्लाइंटसाइड चलाता है। जब आप क्लाइंट कंप्यूटर ऐसा करने के लिए प्राप्त कर सकते हैं तो आप अपने सर्वर को क्रंचिंग फॉर्म सत्यापन नहीं चाहते हैं। इसके अलावा यह बैंडविड्थ बचाता है।

+6

अच्छी तरह से आपको हमेशा फॉर्म सर्वर को सत्यापित करने की आवश्यकता है ... – darma

+3

अगला आ रहा है: क्लाइंट साइड एसक्यूएल इंजेक्शन रोकथाम। – Mchl

+0

मुझे पहले से ही उन चीजों को पता है .... मैंने क्यों कहा "मुझे एहसास है कि आप इससे गति बढ़ाते हैं"। मैं क्या जानना चाहता हूं, क्या मुझे कुछ और मिलता है? क्योंकि PHP की आवश्यकता होने पर दोनों सिरों पर मान्य होने में समय लगता है, लेकिन जावास्क्रिप्ट वास्तव में नहीं है। – Metropolis

2

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

0

बेहतर उपयोगकर्ता अनुभव प्रदान करने के लिए।

जेएस सत्यापन पर प्रतिक्रिया तेज है, और इसलिए फ़ॉर्म सबमिट पर सर्वर-साइड सत्यापन से बेहतर है।

0

जावास्क्रिप्ट सत्यापन (जब उपलब्ध हो) का मुख्य बिंदु यह है कि यह उपयोगकर्ता अनुभव को बेहतर बनाता है। सर्वर के लिए एक राउंड-ट्रिप के लिए पेज लोड और संबंधित कष्टप्रद झिलमिलाहट की आवश्यकता होती है। जावास्क्रिप्ट कोड में मान्य करने से आप बिना किसी संदेश के एक संदेश प्रदर्शित कर सकते हैं।

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

0

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

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

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

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

मैं इसे फिर से कहूंगा। आपको दोनों की जरूरत है

0

... मुझे लगता है कि आप अपने कर्म क्लीनर को भी रखते हैं, जब आपके सैकड़ों या हजारों उपयोगकर्ता आपको 5-7 फ़ील्ड (टेक्स्टरेरा के साथ) भरने के लिए नरक में जलाने की इच्छा नहीं रखते हैं अगले पृष्ठ में उन्होंने अपना ईमेल गलत टाइप किया है, इसलिए उन्हें फिर से शुरू करना होगा: डी यह जावास्क्रिप्ट को शामिल करने के लिए मेरा अधिकांश समय नहीं खाता है, आईडी 1-2 मिनट अधिकतम 1 रूप के लिए कहती है। और यह मेरे उपयोगकर्ताओं की कई तंत्रिका कोशिकाओं को बचाता है। एक मानववादी बनो! अपने पड़ोसी से प्यार करो!))

0

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

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

यह व्यवसाय और बिक्री के दौरान ही सजावट नहीं है। ;) निवेश पर वापसी इसके लायक है।

0

आसान।

जावास्क्रिप्ट उपयोगकर्ता को सही रूप से स्वरूपित डेटा दर्ज करने में मदद करने के लिए जावास्क्रिप्ट। PHP यह सुनिश्चित करने के लिए कि आगे की प्रक्रिया से पहले आपकी स्क्रिप्ट में जो कुछ भी प्रवेश करता है उसे साफ़ कर दिया जाए।

संभोग आपको दोनों को करना होगा। उपयोगकर्ता इसे चाहते हैं, आपके ग्राहक इसे और स्पष्ट रूप से चाहते हैं, आपको लगता है कि यह भी सबमिट करने के बाद fply fp errormessages प्राप्त कर रहा है।

मुझे लगता है कि अतिरिक्त कोड कोड करने का तर्क नहीं है जो संभवतः आपके समय/बजट को खाएगा, कोई भी थ्रूथ होगा। वहां बहुत सारे libs और स्क्रिप्ट्स हैं, या तो कोई भी आपको डिस्को सत्यापन को किसी भी समय स्थापित करने में सक्षम नहीं करेगा। हालांकि, आंख कैंडी से निपटने के साथ दूर नहीं ले जाते हैं। .js सत्यापन केवल मदद करने के लिए है। प्रभावित नहीं है।

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