एक बार आपके पास HTML फॉर्म अप और चलने के बाद, आप अक्सर यह सुनिश्चित करना चाहते हैं कि सभी महत्वपूर्ण फ़ील्ड भर जाएंगे। उदाहरण के लिए, यदि आप एक ईमेल पुष्टिकरण पत्र भेजने जा रहे हैं, तो ईमेल पता फ़ॉर्म फ़ील्ड में शामिल किया जाना चाहिए , और यह एक ईमेल पता होना चाहिए जो काम करता है।
अपने फॉर्म को प्रमाणित करने के दो तरीके हैं:
- जावास्क्रिप्ट का उपयोग करना
- एक CGI स्क्रिप्ट का उपयोग करना
प्रपत्र मान्य करने के लिए जावास्क्रिप्ट का उपयोग करने के पेशेवर
- जावास्क्रिप्ट का उपयोग करके आप किसी सर्वर प्रोसेसर समय का उपयोग नहीं करते हैं। सभी प्रसंस्करण क्लाइंट कंप्यूटर पर किया जाता है।
- यह अक्सर सीजीआई सत्यापन से तेजी से काम करता प्रतीत होता है।
- चूंकि फॉर्म पेज नहीं बदला है, इसलिए पाठक त्रुटियों को ठीक करना आसान है।
प्रपत्र मान्य करने के लिए जावास्क्रिप्ट का उपयोग करने का विपक्ष
- जावास्क्रिप्ट केवल उन ब्राउज़रों पर काम करता है जिन्होंने इसे सक्षम किया है। यदि जावास्क्रिप्ट अक्षम है, तो आपकी त्रुटि जांच नहीं की जाती है।
फॉर्म मान्य करने के लिए सीजीआई का उपयोग करने के पेशेवर
- यह पुष्टि करने के लिए एक सीजीआई का उपयोग करना सुनिश्चित करता है कि फॉर्म जमा होने पर हर बार सत्यापन समाप्त हो जाएगा।
फॉर्म मान्य करने के लिए सीजीआई का उपयोग करने का विपक्ष
- सीजीआई वेब सर्वर पर अधिक भार डालता है, और सीजीआई में शामिल प्रत्येक फ़ंक्शन सर्वर के लिए एक और कार्य है।
- सीजीआई चलाने के लिए धीमा हो सकता है।
- अगर कोई त्रुटि है, तो ग्राहक को फॉर्म के पहले पृष्ठ पर वापस जाना होगा, या सीजीआई को फॉर्म पेज को फिर से लिखने के लिए किसी अन्य फ़ंक्शन की आवश्यकता है।
जिस तरह से मैं इसे संभालता हूं वह जावास्क्रिप्ट के साथ किए गए त्रुटि जांच का बहुमत है। इस तरह, यह पाठकों के लिए तेज़ और आसान है।
मैं फिर सीजीआई के साथ फॉर्म के महत्वपूर्ण तत्वों को दोबारा जांचता हूं।
एचटीएमएल फॉर्म मान्य करने के लिए जावास्क्रिप्ट का उपयोग कैसे करें
फॉर्म सत्यापन बनाने का मूल आधार आवश्यक तत्वों के नामों की तलाश करना है, और यदि वे खाली हैं, तो एक त्रुटि संदेश प्रदर्शित करें।
अधिकांश त्रुटि जांच प्रोग्राम एक समय में प्रत्येक फ़ील्ड को जांचते हैं, और एक समय में एक त्रुटि प्रदर्शित करते हैं।
यह फ़ॉर्म को थकाऊ बना सकता है, और लोग बीच में रुक सकते हैं। यदि आप निम्न स्क्रिप्ट और पर्ल स्रोत का उपयोग करते हैं तो आपको पता चलेगा कि एक बार में एक पूरे फॉर्म को कैसे सत्यापित किया जाए, त्रुटि संदेशों की एक श्रृंखला प्रदर्शित करना जो आपका पाठक फिर वापस जा सकता है और ठीक कर सकता है।
एक फॉर्म मान्य करने के लिए जावास्क्रिप्ट
अपने एचटीएमएल के मुख्य भाग में, आपको फॉर्म सत्यापन करने के लिए एक स्क्रिप्ट बनाना चाहिए:
- स्क्रिप्ट सेट अप करें, और सुनिश्चित करें कि यह उन ब्राउज़रों से छिपा हुआ है जो जावास्क्रिप्ट को संभाल नहीं सकते हैं। <स्क्रिप्ट भाषा = "जावास्क्रिप्ट">
- यह फ़ंक्शन कॉल है जो सत्यापन शुरू करता है। अपनी स्क्रिप्ट के शीर्ष पर अपने चर सेट करने के लिए यह एक अच्छा रूप है।
फ़ंक्शन वैलिडेटर (फ़ार्म)
{var error = ""; - यदि आपके पास अपने रूपों में ड्रॉप-डाउन तत्व हैं, तो आपको खाली विकल्प के रूप में पहला विकल्प शामिल करना चाहिए (उदाहरण के लिए <विकल्प मूल्य = ""> एक चुनें विकल्प>) आप उस फ़ील्ड को शामिल कर सकते हैं जिसे आप फ़ील्ड पर पसंद करेंगे जब तक मूल्य खाली है। फिर, जब आप इसके खिलाफ मान्य करते हैं, तो बस यह देखने के लिए देखें कि पहला विकल्प (खाली एक) अभी भी सेट है या नहीं, अगर यह है, तो त्रुटि संदेश लिखें। अगर (theForm.dd.options [0]। चयनित == सत्य)
{
त्रुटि + = "कृपया ड्रॉप-डाउन सूची से चुनें। \ n";} - पाठ तत्व मान्य करने के लिए सबसे आसान हैं। बस यह देखने के लिए जांचें कि क्या मान खाली है या नहीं। यदि ऐसा है, तो त्रुटि संदेश सेट करें। अगर (theForm.words.value == "")
{
त्रुटि + = "कृपया पाठ तत्व भरें। \ n";}
- यदि आप किसी टेक्स्ट फ़ील्ड के भीतर डेटा के प्रकार को सत्यापित करना चाहते हैं, तो आपको थोड़ा फैनसीयर प्राप्त करना होगा। स्क्रिप्ट का यह स्निपेट यह देखने के लिए एक टेक्स्ट बॉक्स को देखता है कि इसमें गैर-संख्यात्मक वर्ण हैं (परिवर्तनीय "अंक" परिभाषित करता है कि यह क्या देख रहा है)।
var अंक = "0123456789";
अगर (theForm.number.value == "")
{
त्रुटि + = "कृपया एक संख्या भरें। \ n";
}
के लिए (var i = 0; i
{
temp = theForm.number.value.substring (i, i + 1)
अगर (digit.indexOf (temp) == -1 और&Form.number.value! = "")
{
त्रुटि + = "संख्यात्मक पाठ एक संख्या होना चाहिए। \ n";
टूटना;
}}
जावास्क्रिप्ट के साथ एक ईमेल पता मान्य करें
- स्क्रिप्ट का यह हिस्सा दिखाता है कि ईमेल पते के लिए सत्यापन कैसे करें। यह एक बहुत ही सरल सत्यापन है, यह केवल यह सुनिश्चित करने के लिए जांच करता है कि @ -sign और एक अवधि है। लोग अभी भी फर्जी ईमेल पते डाल सकते हैं, लेकिन इससे गलत प्रविष्टियों को कम करने में मदद मिलती है।
अगर (theForm.email.value == "")
{
त्रुटि + = "आपको प्रतिक्रिया के लिए एक सटीक ईमेल पता शामिल करना होगा। \ n";
}
अगर ((theForm.email.value.indexOf ('@', 0) == -1 ||
theForm.email.value.indexOf ('।', 0) == -1) &&Form.email.value! = "")
{
त्रुटि + = "कृपया सत्यापित करें कि आपका ईमेल पता मान्य है।";
}
- यह स्क्रिप्ट का मांस है। यह दो चीजें करता है: सबसे पहले, यह जांचने के लिए जांच करता है कि कोई त्रुटि सेट है या नहीं। यदि ऐसा है, तो यह इसे एक चेतावनी संदेश के रूप में प्रदर्शित करता है। फिर यह झूठी वापसी का मूल्य भेजता है ताकि फ़ॉर्म जानकारी सर्वर पर नहीं भेजी जा सके। आपके त्रुटि संदेश (उपरोक्त में बयान में सेट), सभी में लाइन के अंत में "\ n" शामिल है। यह ब्राउजर को लाइन के अंत में एक कैरिज रिटर्न (या "एंटर" या "नई लाइन") डालने के लिए कहता है। फिर, यदि कई त्रुटि संदेश हैं तो वे सभी अलग-अलग लाइनों पर होंगे। यदि कोई त्रुटि संदेश सेट नहीं है, तो त्रुटि चर खाली हो जाएगा (जहां से हम इसे स्क्रिप्ट के शीर्ष पर सेट करते हैं), और इसलिए फॉर्म जानकारी को सीजीआई द्वारा कार्य करने के लिए सर्वर पर भेजा जाएगा।
अगर (त्रुटि! = "")
{
चेतावनी (त्रुटि);
विवरण झूठा है);
} अन्य {
वापसी (सच);
} - अपनी स्क्रिप्ट को बंद करना न भूलें।
}
// -> script>
फिर, स्क्रिप्ट को कॉल करने के लिए, फॉर्म टैग में एक ऑनसममिट तत्व डालें:
फॉर्म मान्य करने के लिए सीजीआई
यह पर्ल स्क्रिप्ट CGI स्निपेट जावास्क्रिप्ट के समान ही काम करता है। यह देखने के लिए जांच करता है कि क्या आवश्यक फ़ील्ड हैं, और यदि नहीं, तो प्रदर्शन के लिए एक चर में त्रुटि संदेश सहेजता है:
#! / usr / स्थानीय / bin / perl
$ त्रुटि = "";
अगर ($ {'dd'} eq "" में)
{
$ त्रुटि + = "
ड्रॉप डाउन बॉक्स से चुनें।
";
}
अगर ($ {'words'} eq "" में)
{
$ त्रुटि + = "
कृपया टेक्स्ट बॉक्स में कुछ शब्द शामिल करें।
";
}
# ... सभी क्षेत्रों को मान्य करना जारी रखें
अगर ($ त्रुटि)
प्रिंट करें "सामग्री-प्रकार: टेक्स्ट / एचटीएमएल \ n \ n";
प्रिंट करें "
प्रिंट करें " head>
प्रिंट करें " एक त्रुटि हुई है h2>";
प्रिंट $ त्रुटि;
प्रिंट करें "कृपया वापस जाएं और इन त्रुटियों को सही करें।";
प्रिंट करें " body> html>";
} अन्य {
# सीजीआई के साथ जाओ ...
}
सीजीआई त्रुटि संदेश लिखने के साथ अंतर यह है कि "\ n" के बजाय, यह प्रत्येक त्रुटि के बीच एक नई पंक्ति डालने के लिए HTML अनुच्छेद टैग का उपयोग करता है।
और अब आपने अपना फॉर्म मान्य कर लिया है
दो विधियों, सीजीआई और जावास्क्रिप्ट के साथ, आपने एक HTML फॉर्म को मान्य कर दिया है ताकि आपके द्वारा भेजे गए अधिकतर हिस्सों में सटीक हो।