फॉर्म सत्यापन

एक फॉर्म लोगों से इनपुट एकत्र करता है, और लोग फ़ील्ड खाली छोड़ देते हैं, ईमेल में गलती करते हैं, या जहाँ संख्या होनी चाहिए वहाँ अक्षर डालते हैं। आप नहीं चाहते कि वह डेटा आपके कोड तक अछूता रहे। कुछ भी जमा करने से पहले, ब्राउज़र बहुत कुछ आपके लिए जांच सकता है, लेकिन केवल तभी जब आप बताएँ कि प्रत्येक फ़ील्ड क्या उम्मीद करता है। वह विवरण सीधे आपके HTML में लिखा जाता है, और यह अध्याय इसे कैसे लिखें इसके बारे में है।
आवश्यक फ़ील्ड और इनपुट प्रकार
दो सबसे सस्ते चेक जो आप जोड़ सकते हैं वह कह रहे हैं कि एक फ़ील्ड बिल्कुल भरा होना चाहिए, और कह रहे हैं कि किस प्रकार का मान इसमें संबंधित है।
एक इनपुट में शब्द required जोड़ें और ब्राउज़र उस फ़ील्ड में कुछ न होने तक फॉर्म जमा करने से इनकार करता है। इसे होने के लिए आपको कोई कोड नहीं लिखना है। विशेषता ही निर्देश है।
<input type="text" name="full_name" required>दूसरी आधी type विशेषता है। यह ब्राउज़र को बताता है कि मान किस रूप का होना चाहिए, और ब्राउज़र इसे आपके लिए जांचता है। type="email" का उपयोग करें और ब्राउज़र सुनिश्चित करता है कि मान ईमेल पते जैसा दिखता है। type="number" का उपयोग करें और यह केवल संख्याएँ स्वीकार करता है। तारीखों के लिए एक प्रकार है, वेब पतों के लिए एक, और अधिक हैं।
इसे डॉक्टर के कार्यालय में एक फॉर्म की तरह सोचें जहाँ कुछ बॉक्स "अवश्य भरें" के रूप में चिह्नित हैं और दिनांक बॉक्स में पहले से ही दिन, महीने और वर्ष के लिए छोटे स्लॉट हैं। कागज आपको बता रहा है कि आप कहीं भी कुछ न लिखने से पहले कहाँ क्या जाता है।
यहाँ दोनों विशेषताओं का उपयोग करने वाला एक छोटा साइन-अप फॉर्म है:
<form>
<label>
ईमेल पता
<input type="email" name="email" required>
</label>
<label>
वेबसाइट
<input type="url" name="website">
</label>
<button>साइन अप करें</button>
</form>ईमेल फ़ील्ड अवश्य भरा होना चाहिए और ईमेल जैसा दिखना चाहिए। वेबसाइट फ़ील्ड वैकल्पिक है, लेकिन अगर कोई कुछ भी टाइप करता है, तो उसे वेब पते जैसा दिखना चाहिए। ब्राउज़र बटन दबाए जाने के समय दोनों को जाँचता है।
required रखें और ब्राउज़र खाली को नहीं जाने देगा। type सेट करें, जैसे email या number, और यह जाँचता है कि मान सही आकार है। जो प्रकार फ़ील्ड से मेल खाता है उसे चुनें और आपको मुफ्त में जाँच मिलती है। बाधा विशेषताएँ
"भरा हुआ" और "सही प्रकार" से परे, आप अक्सर सीमाएँ चाहते हैं: कम से कम इतना लंबा एक मान, इतनी बड़ी संख्या नहीं, एक सेट प्रारूप में एक कोड। एक मुट्ठी विशेषताएँ इसे कवर करती हैं।
आप सीमित कर सकते हैं कि एक फ़ील्ड क्या स्वीकार करता है। शुरू करने के लिए दो उपयोगी:
<input type="text" name="username" maxlength="20">
<input type="number" name="quantity" min="1" max="10">maxlength="20" फ़ील्ड को बीस वर्णों पकड़ने के बाद रोक देता है। min और max अनुमत सबसे छोटी और सबसे बड़ी संख्याएँ सेट करते हैं। ब्राउज़र लोगों को इन सीमाओं के भीतर रखता है ताकि आपको उनकी जाँच स्वयं न करनी पड़े।
वह नियम जो सबसे अधिक भ्रम को बचाता है: एक pattern को पूरे मान से मेल खाना चाहिए, केवल इसके एक हिस्से से नहीं।
<input
type="text"
name="product_code"
pattern="[A-Z]{2}-[0-9]{3}"
title="दो अक्षर, एक हाइफन, तीन अंक, उदा. AB-123"
required
>maxlength कितने वर्ण जाते हैं इसे कैप करता है, और min और max एक संख्या को घेरते हैं। ब्राउज़र लोगों को उन सीमाओं के भीतर स्वचालित रूप से रखता है, जो बहुत सी जाँच है जो आपको कभी लिखना नहीं पड़ता। मूल सत्यापन प्रतिक्रिया
नियमों को घोषित करना कहानी का आधा हिस्सा है। दूसरा आधा वह है जो व्यक्ति को एक मान तोड़ने पर दिखता है।
जब कोई सबमिट बटन दबाता है और एक फ़ील्ड गलत होता है, तो ब्राउज़र सबमिशन को रोक देता है और समस्या वाली पहली फ़ील्ड के आगे एक छोटा संदेश दिखाता है, फिर कर्सर को इसमें कूद देता है। आप यह संदेश बनाते नहीं हैं। ब्राउज़र इसे लिखता है, आगंतुक की अपनी भाषा में, और इसे स्वचालित रूप से दिखाता है।
तो एक required ईमेल फ़ील्ड खाली छोड़ दिया गया "कृपया इस फ़ील्ड को भरें" जैसा कुछ उत्पन्न करता है, और फॉर्म तब तक भेजा नहीं जाता जब तक इसे ठीक न किया जाए।
जब आपको अभी भी JavaScript की आवश्यकता है
मूल सत्यापन एक फ़ील्ड को अपने स्वयं के नियमों के विरुद्ध जाँचता है। बहुत सी वास्तविक जाँचें उस आकार में फिट नहीं होती हैं, और वह है जहाँ JavaScript आते हैं।
कुछ ऐसी चीजें हैं जो ब्राउज़र अपने आप नहीं जांच सकता। क्या दो पासवर्ड फ़ील्ड एक दूसरे से मेल खाते हैं। क्या एक उपयोगकर्ता नाम पहले से किसी और द्वारा लिया गया है। क्या एक छूट कोड असली है। ये में से कोई भी एक फ़ील्ड के आकार के बारे में नहीं है, इसलिए कोई विशेषता नहीं है, और आप जाँच को करने के लिए JavaScript की ओर रुख करते हैं।
यह HTML की विफलता नहीं है। अंतर्निहित जाँचें कोई कोड के साथ सामान्य मामलों को संभालती हैं, और JavaScript बाकी को संभालती है।

