जावास्क्रिप्टमध्ये फॉर्मचे प्रमाणीकरण आणि सबमिशन. रिक्त फॉर्म फील्ड तपासत आहे: एक सार्वत्रिक पद्धत. फॉर्म प्रमाणीकरण स्क्रिप्ट

वारंवार विचारले जाणारे प्रश्न 17.03.2019
वारंवार विचारले जाणारे प्रश्न

31.08.2016

नवीन सेवासॅटेलाइट सुरक्षा बाजारात प्रवेश करते. त्याचे काय आहेत महत्वाची वैशिष्टेआणि कार्यक्षमता?

डोझर आर्किटेक्चर दिसते खालील प्रकारे. मध्यवर्ती दुवा MS (Microsoft) Azure वर आधारित क्लाउड प्लॅटफॉर्म आहे. या प्रणालीवरील अभिप्राय अत्यंत सकारात्मक आहे, जसे की कॉम्प्युवेअर तज्ञांच्या मतावरून दिसून येते, ज्यांनी याला आज अस्तित्वात असलेले सर्वात वेगवान "क्लाउड" प्लॅटफॉर्म म्हटले आहे.
मालक स्मार्टफोनद्वारे उपग्रह उपकरण नियंत्रित करतो ज्यावर अधिकारी मोबाइल ॲप DOZOR वरून, AppStore किंवा GooglePlay वर डाउनलोड करण्यासाठी उपलब्ध आहे.



कॉम्प्लेक्सचा पाया चांगल्या-विकसित क्रिप्टोग्राफिक ट्रान्सफॉर्मेशन अल्गोरिदमसह वेळ-चाचणी केलेल्या AUTOLIS उपकरणांवर आधारित आहे, ज्यामुळे बुद्धिमान हॅकिंगची शक्यता शून्यावर आली आहे. DOZOR ला उच्च सतर्कतेचे वैशिष्ट्य आहे, म्हणून चाव्या उपस्थित असल्या तरीही, वाहनाच्या अनधिकृत वापराबद्दल आणि अलार्म सिग्नलची माहिती त्वरित देखरेख मुख्यालयाकडे पाठविली जाते.

डोझरने केवळ सुरक्षिततेकडेच लक्ष दिले नाही वाहन, ज्याचा अर्थ जलद प्रतिसाद सेवेला कॉल करणे, भयानक घटनांची सूचना, स्थलांतराची सूचना, परंतु त्याच्या मालकाची सोय देखील आहे. केबिनमधील हवामान सेट करणे, ऑटो स्टार्ट सक्रिय करणे आणि पार्किंगमध्ये शोधणे यासारख्या कार्यांवर नियंत्रण ठेवण्यासाठी ही सुरक्षा प्रणाली तुम्हाला तुमचा स्मार्टफोन वापरण्याची परवानगी देते.

DOZOR ने, त्याच्या भागीदारांसह, त्याच्या ग्राहकांसाठी अनेक विशेष ऑफर देखील विकसित केल्या आहेत. सर्वप्रथम, "नुकसान" जोखमीसाठी सवलत CASCO विमा कार्यक्रम प्रदान केले जातात. तुमच्या ड्रायव्हिंग शैलीवर आधारित, फायदा पॉलिसीच्या खर्चाच्या 50% पर्यंत पोहोचू शकतो. दुसरे म्हणजे, वापरकर्त्यांना "चोरी" च्या जोखमीवर 95% पर्यंत सूट दिली जाते. संख्या देखील आहेत फायदेशीर ऑफरद्वारे देखभालडीलरशिप पासून.

तुम्ही तीनपैकी एक टॅरिफ निवडू शकता: Dozor X, Dozor Business, Dozor Revolution, जे सेटमध्ये एकमेकांपेक्षा वेगळे आहेत. कार्यक्षमताआणि मासिक रक्कम सदस्यता शुल्क.


Dozor X ही मूळ आवृत्ती आहे आणि 10 फंक्शन्सच्या संचाने सुसज्ज आहे. दिवसातून दोनदा प्रोग्राम केलेल्या वेळेवर (अलार्म घड्याळाद्वारे) संपर्क तसेच GPS, GLONASS किंवा LBS (बेस स्टेशन सिग्नल) द्वारे वाहनाच्या स्थानाबद्दलची माहिती हे वैशिष्ट्यीकृत आहे.

सिग्नल उत्सर्जित न करता DOZOR X ऑपरेशनच्या निष्क्रिय स्वरूपामुळे घुसखोरांद्वारे डिव्हाइस शोधण्याचा धोका कमी करणे शक्य होते. कार चोरीच्या घटनेत, राज्य अन्वेषण ब्युरोच्या सहभागासह जबरदस्त प्रतिसाद दिला जातो आणि कायद्याची अंमलबजावणी. Dozor X चे मुख्य स्पर्धक आहेत Arkan Pulsar, Cobra Zoom Box, Cesar Tracer A, ABO लेव्हल 1, AUTOLOCATOR Satellite X, ज्यातून Dozor X कमी सबस्क्रिप्शन फी मध्ये भिन्न आहे (प्रति महिना 500 रूबल विरूद्ध, उदाहरणार्थ, 1000 रूबल अर्कान पल्सर).

Dozor X च्या तुलनेत Dozor Business मध्ये कार्यक्षमतेची विस्तृत श्रेणी आहे: कारच्या सद्य स्थितीचे निरीक्षण करण्याचे कार्य ( संचयक बॅटरी, तापमान, परिमिती स्थिती), नकाशावर स्थान माहिती प्राप्त करणे, विनंतीनुसार डिस्पॅच सेंटरमधून नियंत्रण करण्याची क्षमता. खालील घटनांना जबरदस्त प्रतिसाद: दरवाजे, हुड किंवा सामानाचे डबे अनधिकृतपणे उघडणे; बॅटरी डिस्चार्ज/डिस्कनेक्शन; इग्निशनचे अनधिकृत स्विचिंग; वाहनाची अनधिकृत हालचाल; "शॉक" सेन्सर ट्रिगर करणे; अलार्म बटण सक्रिय करणे.

"सुरक्षा" फंक्शन स्वयंचलितपणे मोटरला अवरोधित करते आणि त्यातून काढून टाकते हा मोडरेडिओ टॅग वापरून चालते. इमोबिलायझर अँटी-हाय-जॅक यंत्रणेसह सुसज्ज आहे आणि जेव्हा ड्रायव्हरला त्याची कार सोडण्यास भाग पाडले जाते तेव्हा ते सक्रिय होते. काही वेळानंतर, कारचा अलार्म इंजिनला ब्लॉक करण्यासाठी सिग्नल पल्स पाठवतो आणि GBR क्रूच्या पुढील निर्गमनासह अलार्म मोडमध्ये जातो. डोझर बिझनेसचे स्पर्धात्मक ॲनालॉग्स म्हणजे अर्कन सॅटेलाइट VIP, Cobra Best Luxe, AVO लेव्हल 5, Cesar Premium X+, Spring Dynamic, ASP HARD, AUTOLOCATOR Super X.

डोझर क्रांती. प्रतिसादाच्या बाबतीत, डोझोर लाइनमधील फ्लॅगशिप उत्पादन डोझर एक्स आवृत्तीपेक्षा वेगळे नाही, तथापि, त्यात वाहनाच्या आधारावर, चार डिजिटल लॉक लागू केले जातात;

मूलभूत दरांव्यतिरिक्त, क्लायंट कनेक्ट करू शकतो अतिरिक्त सेवातज्ञांनुसार, मोबाइल आणि व्हीआयपी पॅकेजेस, जे अनेक प्रदान करतात उपयुक्त पर्याय, उदाहरणार्थ, अपघाताच्या घटनास्थळावरून कायदेशीर सल्ला किंवा अपघाताच्या घटनास्थळावरून बाहेर काढणे. मोबाइल पॅकेजमध्ये सेवेचा समावेश आहे तांत्रिक साहाय्यरस्त्यांवर आणि थेट कारपर्यंतच्या मार्गाचे दृश्य प्रदर्शन. व्हीआयपी पॅकेज व्यतिरिक्त, तुम्हाला वैयक्तिक व्यवस्थापक प्राप्त होईल.

Dozor Revolution ची किंमत आणि कार्यक्षमतेत Arkan Satellite VIPP+, Cobra Global Max, Cesar Premium X+, AUTOLOCAR Super X यांच्याशी तुलना करता येते. फरक, नेहमीप्रमाणे, तपशीलांमध्ये आहेत. तांत्रिक आणि सेवा. तांत्रिक - Dozor AUTOLIS उपकरणांवर चालते, ज्यामध्ये आहे उच्च पदवीविश्वसनीयता आणि सुरक्षा. निर्मात्याच्या अस्तित्वाच्या अनेक वर्षांपासून हजारो ग्राहकांना याची खात्री पटली आहे. सेवा - अलार्म ट्रांसमिशन गती, जे 7 सेकंद आहे. जास्तीत जास्त वेळअसा संदेश पाठवल्यापासून पोलिस दल आणि जलद प्रतिसाद पथकाचे आगमन 15 मिनिटे आहे. निर्मात्याने डेल्टासोबत भागीदारी करार केला आहे, ज्यामध्ये 6,900 परवानाधारक सुरक्षा तज्ञांचा समावेश आहे आणि रशियन फेडरेशनच्या 30 घटक घटकांमध्ये प्रादेशिक कार्यालये आहेत. ट्रॅफिक पोलिस कर्मचारी, पोलिस अधिकारी आणि अंतर्गत व्यवहार मंत्रालयाच्या कर्मचाऱ्यांना एकाच वेळी सहभागी करून घेणे शक्य आहे.




Dozor विमा कंपन्या आणि ऑटोमेकर्स या दोन्हींसोबत त्याच्या सेवेचे सहज एकत्रीकरण देते, जे तुम्हाला एकाच वेळी दोन्ही दिशांना टेलिमॅटिक माहिती प्रसारित करण्याची परवानगी देते, ज्यामुळे क्लायंटला फायदा घेण्याची संधी मिळते. सर्वोत्तम ऑफरइन्शुरन्स टेलिमॅटिक्सद्वारे कॅस्को विम्यासाठी.

या लेखात आम्ही अधिक जटिल आणि कार्यात्मकदृष्ट्या पूर्ण स्क्रिप्ट हाताळण्यास सुरुवात करू. चला चरण-दर-चरण सर्व टप्पे पार करूया - समस्या सेट करण्यापासून प्रारंभ करून आणि वापरासाठी तयार असलेल्या सार्वत्रिक स्क्रिप्टसह समाप्त करणे. आणि सर्व्हरवर पाठवण्यापूर्वी फॉर्म सत्यापित करून प्रारंभ करूया.
फॉर्मचा सामान्य विचार आणि html कोड

फॉर्म प्रमाणीकरण हे कदाचित सर्वात सामान्यपणे वापरल्या जाणाऱ्या फंक्शन्सपैकी एक आहे. ही एक दुर्मिळ साइट आहे जी त्यात कोणत्याही फरकाशिवाय करते, मग ती ई-मेलद्वारे पाठवलेला साधा संदेश असो किंवा ऑनलाइन स्टोअरमधील जटिल ऑर्डर फॉर्म असो. स्क्रिप्टचा फायदा स्पष्ट आहे - वापरकर्त्याने सर्वकाही भरले आहे हे तपासा जरूरी माहितीपाठवण्यापूर्वी आणि त्याद्वारे रिक्त किंवा गहाळ ईमेल प्राप्त होण्याची समस्या टाळा संपर्क माहितीप्रेषक

आपण असे गृहीत धरू की आपल्याकडे आधीपासूनच एक फॉर्म आहे आणि त्यात खालील 4 फील्ड आहेत: नाव, ईमेल पत्ता, संदेशाचा विषय आणि संदेश स्वतः. अशा फॉर्मसाठी संबंधित एचटीएमएल कोड असे काहीतरी दिसेल:


< form action = "/cgi-bin/formmail.cgi" onsubmit = "return sendform();" >

तुमचे नाव:*< input type = "text" name = "name" >< br >
ईमेल पत्ता: *< input type = "text" name = "email" >< br >
संदेशाचा विषय:< input type = "text" name = "subject" >< br >
संदेश:< textarea name = "message" >< br >< br >

< input type = "submit" value = "पाठवा" >
< input type = "reset" value = "साफ" >


* - भरण्यासाठी आवश्यक फील्ड

लक्षात ठेवा, विपरीत नियमित फॉर्मथेट टॅगमध्ये आम्ही ऑनसबमिट इव्हेंटचे निरीक्षण करतो आणि जेव्हा ते घडते तेव्हा आम्ही फॉर्म पडताळणी फंक्शनला sendform() कॉल करतो.

फंक्शन कॉल करण्याची ही पद्धत का निवडली गेली? शेवटी, अर्ज करणे शक्य होते, उदाहरणार्थ, ऑनक्लिक इव्हेंट? उत्तर सोपे आहे - ऑनक्लिक इव्हेंट वापरताना, "सबमिट" बटण पुनर्स्थित करावे लागेल नियमित बटण. आणि, ब्राउझरमध्ये जावास्क्रिप्ट समर्थन अक्षम केले असल्यास, आम्ही फॉर्म (!) सबमिट करू शकणार नाही. ऑनसबमिट इव्हेंटचा मागोवा घेण्यामध्ये ही कमतरता नाही, कारण स्क्रिप्ट समर्थन अक्षम असतानाही, फॉर्म सबमिट केला जाईल.

जर तुम्ही आमच्या फॉर्मच्या html कोडवर बारकाईने नजर टाकली, तर तुमच्या लक्षात येईल की मी या फील्ड्सच्या पुढे एक तारांकन ठेवले आहे आणि फॉर्मच्या शेवटी एक तळटीप ठेवली आहे. हे अर्थातच वापरकर्त्याच्या सोयीसाठी आणि मूलभूत आदरासाठी केले गेले.

सबमिट करण्यापूर्वी फॉर्म सत्यापित करण्याचे कार्य

आता मुख्य गोष्टीकडे वळू - अगदी फंक्शन लिहिण्यासाठी जे थेट फॉर्म तपासेल. तिच्याकडून आपल्याला काय हवे आहे याचा विचार करूया? बरं, प्रथम, आवश्यक फील्ड भरले आहेत का ते तपासा आणि दुसरे म्हणजे, फॉर्म पाठवा. आवश्यक फील्डपैकी अनेक रिक्त असल्यास, आम्हाला वापरकर्त्याला याबद्दल संदेश व्युत्पन्न करणे आवश्यक आहे आणि कर्सरला संबंधित घटकाकडे हलवावे लागेल.

प्रथम, फंक्शनचे सामान्य बंधन लिहू:


< script language = "javascript" >


आम्ही ऑनसबमिट इव्हेंटद्वारे फंक्शन कॉल करण्यासाठी वापरलेल्या पद्धतीसाठी त्यापैकी एक परत करणे आवश्यक आहे बुलियन मूल्ये: चूक किंवा बरोबर. आणि, या मूल्यावर अवलंबून, फॉर्म सबमिट केला जाईल किंवा नाही.

आता या विशिष्ट फॉर्मशी जोडलेले सत्यापन कार्य लिहिण्याचा प्रयत्न करूया. तुम्हाला आठवत असेल, आमच्याकडे फक्त दोन फील्ड भरण्यासाठी आवश्यक आहेत: अभ्यागताचे नाव आणि त्याचा ईमेल पत्ता. मजकूराच्या अनुपस्थितीसाठी आवश्यक असलेल्या प्रत्येक फील्डची सामग्री तपासणे ही सर्वात सोपी गोष्ट आहे:


< script language = "javascript" >


तुम्ही बघू शकता, पडताळणी फंक्शनमध्ये दोन समान ब्लॉक्स असतात, जे फक्त तपासल्या जाणाऱ्या फील्डच्या नावात भिन्न असतात. या ब्लॉक्समधील प्रत्येक ओळीवर टिप्पणी करूया:

प्रथम आपण हे फील्ड रिक्त असल्याचे तपासू. आणि जर असे असेल तर
बिल्ट-इन अलर्ट() फंक्शन वापरून त्रुटी संदेश प्रदर्शित करा. वापरकर्त्याने विंडो बंद केल्यानंतर, आम्ही
फोकस() पद्धत वापरू आणि कर्सरला चुकीच्या फील्डमध्ये हलवू. आणि शेवटी
यशाचा ध्वज असत्य वर सेट करून फंक्शनमधून बाहेर पडू.
जर तपासले जाणारे फील्ड रिकामे नसेल, तर संबंधित ब्लॉक फक्त वगळला जाईल. जर सर्व चेक ब्लॉक्स वगळले गेले, तर फंक्शन ट्रू रिटर्न करेल, जे यशस्वी चेक दर्शवते.

सार्वत्रिक सत्यापन कार्य

जर आपल्याला फक्त दोन किंवा तीन फील्ड तपासण्याची आवश्यकता असेल, तर आपण "एक एक करून" तपासण्याची ही पद्धत ठेवू शकतो, परंतु त्यापैकी अनेक डझन असल्यास काय? परंतु हे असामान्य नाही - विशेषतः जटिल प्रश्नावलींमध्ये. म्हणून, आम्ही आमच्या फंक्शनमध्ये किंचित बदल करतो जेणेकरून ते तपासल्या जाणाऱ्या फील्डच्या संख्येवर अवलंबून नाही.

सर्व प्रथम, आम्ही एक ॲरे तयार करू जिथे आम्ही सत्यापन आवश्यक असलेल्या सर्व फील्डची नावे सूचीबद्ध करू:

आवश्यक = नवीन ॲरे("नाव", "ईमेल");

हा दृष्टीकोन आम्हाला फंक्शनचा कोड थेट न बदलता आवश्यक फील्डची सूची सहजपणे जोडू आणि सुधारू देईल.

वर वर्णन केलेल्या ॲरे व्यतिरिक्त, आम्ही आणखी एक जोडू, ज्यामध्ये विशिष्ट फील्डसाठी त्रुटी मजकूर असेल:

Required_show = नवीन ॲरे("तुमचे नाव", "ईमेल");

हे आम्हाला त्रुटींबद्दल मजकूर मुक्तपणे बदलण्याची आणि रशियन भाषेचा योग्य वापर करण्यास अनुमती देईल आणि "नाव प्रविष्ट केले नाही" सारख्या अपचनीय वाक्यांशांसह समाधानी होणार नाही.

आवश्यक फील्ड्सचा ॲरे असल्याने, संपूर्ण तपासणी लूपमध्ये केली जाऊ शकते. सुधारित चेक फंक्शन असे दिसेल:


< script language = "javascript" >


लूपमध्ये, सर्व फॉर्म फील्ड ते "आवश्यक" फील्डशी जुळतात का ते तपासले जातात. जर जुळणी झाली तर, वर वर्णन केल्याप्रमाणे तपासणी केली जाते, परंतु एका सावधगिरीने - त्रुटी संदेशांसह ॲरेच्या परिचयासाठी अलर्ट() फंक्शनमध्ये थोडासा बदल करणे आवश्यक आहे, त्यामुळे आता त्रुटी मजकूर थेट यावर अवलंबून आहे फील्डचे नाव.

मुळात तेच आहे. हे कार्यहे अगदी सार्वत्रिक आहे आणि कमीतकमी समायोजनांसह (मूलत: दोन ॲरेची सामग्री) कोणत्याही स्वरूपात रुपांतरित केली जाऊ शकते.

मागे

“मूर्ख संरक्षण” हा फॉर्ममध्ये चुकीच्या माहितीचा प्रवेश रोखण्यासाठी उपायांचा एक संच आहे. उदाहरणार्थ, एखाद्या फील्डला 0 ते 10 पर्यंत सकारात्मक संख्या प्रविष्ट करणे आवश्यक असल्यास, वापरकर्त्याने मजकूर किंवा निर्दिष्ट श्रेणीमध्ये नसलेली संख्या प्रविष्ट केली नाही हे आपण तपासले पाहिजे, उदा. संख्या शून्यापेक्षा कमी आणि दहापेक्षा जास्त नसावी.

चुकीची माहिती का टाकली जात आहे? हे प्रामुख्याने तीन कारणांसाठी केले जाते.

  • वापरकर्त्याने चुकून चूक केली, उदाहरणार्थ, त्याला काय सूचित करणे आवश्यक आहे ते त्याने दुर्लक्षितपणे वाचले.
  • वेब पृष्ठ अस्पष्ट पद्धतीने डेटाची मागणी करते, वापरकर्त्यास त्यांना खरोखर काय हवे आहे याचा अंदाज लावणे आणि अंदाज करणे सोडणे. तथापि, विकसक आणि वापरकर्त्याची मते नेहमीच जुळत नाहीत.
  • असे बरेच लोक आहेत जे सूचनांना आव्हान मानतात आणि उलट करण्याचा प्रयत्न करतात. असे वापरकर्ते असे काहीतरी कारण देतात: “हो, ते मला नंबर टाकण्यास सांगत आहेत. मी अक्षरे दर्शविल्यास काय होईल?" मग ते स्पष्टपणे चुकीची माहिती विचारतात आणि ते काय ठरते ते पहा.
  • हे समजले पाहिजे की तंतोतंत आणि अचूक शब्दरचना, जरी ते त्रुटींची शक्यता कमी करते, परंतु कोणत्याही प्रकारे तुम्हाला त्यांच्यापासून वाचवत नाही. फक्त तांत्रिक माध्यमसर्व्हरच्या बाजूने आपल्याला आवश्यक परिणाम मिळविण्याची आणि चुकीची माहिती प्रविष्ट करणे टाळण्याची परवानगी देते. तथापि, पुनरावृत्ती किंवा, ज्याला हे देखील म्हटले जाते, क्लायंट-साइड प्रमाणीकरण आपल्याला सर्व्हरला फॉर्म न पाठवता, अचूकतेसाठी वापरकर्त्याने प्रविष्ट केलेला डेटा द्रुतपणे तपासण्याची परवानगी देते. यामुळे वापरकर्त्याचा वेळ वाचतो आणि सर्व्हरवरील भार कमी होतो. वापरण्याच्या दृष्टिकोनातून, त्याचे फायदे देखील आहेत - वापरकर्त्याला त्याने कोणती माहिती चुकीची प्रविष्ट केली आहे याबद्दल त्वरित संदेश प्राप्त होतो आणि त्याची चूक सुधारू शकतो.

    अनिवार्य फील्ड

    काही फॉर्म फील्ड सर्व्हरवर पाठवण्यापूर्वी पूर्ण करणे आवश्यक आहे. हे, उदाहरणार्थ, नोंदणी फॉर्मवर लागू होते, जिथे तुम्हाला लॉगिन आणि पासवर्ड प्रविष्ट करणे आवश्यक आहे. आवश्यक फील्ड निर्दिष्ट करण्यासाठी वापरले जाते आवश्यक गुणधर्म, उदाहरण 1 मध्ये दर्शविल्याप्रमाणे.

    उदाहरण 1. आवश्यक विशेषता

    HTML5 IE 10+ Cr Op Sa Fx

    अनिवार्य फील्ड

    लॉगिन:

    पासवर्ड:

    फॉर्म सबमिट करण्यापूर्वी आवश्यक फील्ड भरणे आवश्यक आहे, अन्यथा फॉर्म सर्व्हरवर पाठविला जाणार नाही आणि ब्राउझर याबद्दल चेतावणी देईल. संदेशाचा प्रकार ब्राउझरवर अवलंबून असतो, उदाहरणार्थ क्रोम अंजीर मध्ये दर्शविल्याप्रमाणे टूलटिप प्रदर्शित करते. १.

    तांदूळ. 1. आवश्यक फील्ड भरलेले नाही

    डेटा अचूकता

    सुरुवातीला, दोन फील्ड आहेत ज्यामध्ये वापरकर्ता इनपुट स्वयंचलितपणे तपासले जाते. हा वेब पत्ता आणि पत्ता आहे ईमेल. क्रोम ब्राउझरवैधतेसाठी कॅलेंडर डेटा फील्ड देखील तपासते, परंतु केवळ त्यात माउस-क्लिक कॅलेंडर निवड इंटरफेस नसल्यामुळे. या घटकांना खालील नियम लागू होतात.

    • वेब पत्त्यामध्ये ( ) प्रोटोकॉल (http://, https://, ftp://) असणे आवश्यक आहे.
    • ईमेल पत्त्यामध्ये ( ) @ चिन्हापूर्वी अक्षरे किंवा संख्या असणे आवश्यक आहे, त्यानंतर एक कालावधी आणि उच्च-स्तरीय डोमेन असणे आवश्यक आहे.

    वापरकर्ता डेटा सत्यापित करण्यासाठी ब्राउझरची धोरणे थोडी वेगळी आहेत. उदाहरणार्थ, ऑपेरा पर्याय http प्रोटोकॉलआपोआप प्रविष्ट केलेल्या मजकुराच्या आधी ://, तर इतर ब्राउझर वापरकर्त्याकडून त्याची अपेक्षा करतात. Chrome आणि Opera ला ते आवश्यक आहे टपालाचा पत्ताएक मुद्दा होता, तो फायरफॉक्ससाठी आवश्यक नाही.

    उदाहरण 2 सह एक फॉर्म दर्शविते जरूरी माहिती, ज्यामध्ये ब्राउझरद्वारे दोन फील्ड तपासले जातात.

    उदाहरण 2: डेटा अचूकता

    HTML5 IE 10+ Cr Op Sa Fx

    डेटा अचूकता

    फॉर्म भरा (सर्व फील्ड आवश्यक आहेत)

    नाव:

    ईमेल:

    संकेतस्थळ:

    ऑपेरा फक्त फॉर्म घटक तपासते जर त्यात नाव विशेषता असेल.

    जेव्हा तुम्ही चुकीचा डेटा एंटर करता तेव्हा ऑपेरामध्ये काय होते ते अंजीर मध्ये दाखवले आहे. 2.

    तांदूळ. 2. चुकीच्या डेटाबद्दल चेतावणी

    इनपुट टेम्पलेट

    काही डेटा फॉर्म घटक प्रकारांपैकी एकामध्ये वर्गीकृत केला जाऊ शकत नाही, म्हणून तुम्ही त्यासाठी मजकूर फील्ड वापरणे आवश्यक आहे. त्याच वेळी, ते एका विशिष्ट मानकानुसार प्रविष्ट केले जातात. तर, IP पत्त्यामध्ये एका बिंदूने (192.168.0.1) विभक्त केलेले चार क्रमांक आहेत, पिनकोडरशिया सहा अंकांपुरता मर्यादित आहे (124007), फोनमध्ये क्षेत्र कोड आणि अंकांची विशिष्ट संख्या असते, बहुतेक वेळा हायफन (391 555-341-42) इत्यादीने विभक्त केले जाते. ब्राउझरने इनपुट टेम्पलेट निर्दिष्ट करणे आवश्यक आहे जेणेकरून ते तपासले जाईल त्यानुसार वापरकर्त्याने प्रविष्ट केलेला डेटा. हे करण्यासाठी, नमुना विशेषता वापरली जाते आणि त्याचे मूल्य नियमित अभिव्यक्ती आहे. काही ठराविक मूल्ये टेबलमध्ये सूचीबद्ध आहेत. १.

    उदाहरण 3 तुम्हाला प्रविष्ट करण्यास सांगतो हेक्साडेसिमल मूल्यरंग (#ffcc00) आणि या श्रेणीमध्ये नसल्यास, ब्राउझर त्रुटी संदेश प्रदर्शित करतो.

    उदाहरण 3. इनपुट टेम्पलेट

    HTML5 IE 10+ Cr Op Sa Fx

    रंग इनपुट

    हेक्साडेसिमल रंग मूल्य प्रविष्ट करा (# ने सुरू होणे आवश्यक आहे)

    अंजीर मध्ये. आकृती 3 Chrome ब्राउझरमध्ये चेतावणी दर्शवते.

    तांदूळ. 3. प्रविष्ट केलेला डेटा टेम्पलेटशी जुळत नाही

    अप्रमाणीकरण

    फॉर्मसाठी प्रमाणीकरण नेहमीच आवश्यक नसते, उदाहरणार्थ, विकासक वापरू इच्छितो सार्वत्रिक उपाय JavaScript मध्ये आणि यापुढे ब्राउझरद्वारे डुप्लिकेट तपासणीची आवश्यकता नाही. IN समान प्रकरणेतुम्हाला अंगभूत प्रमाणीकरण अक्षम करणे आवश्यक आहे. हे करण्यासाठी, टॅगचे novalidate विशेषता वापरा. उदाहरण 4 या गुणधर्माचा वापर दर्शविते.

    उदाहरण ४: अप्रमाणित करणे

    HTML5 IE 10+ Cr Op Sa Fx

    विशेषता novalidate

    तत्सम हेतूसाठी, फॉर्मनोव्हॅलिडेट विशेषता वापरली जाते, जी फॉर्म सबमिट करण्यासाठी बटणावर जोडली जाते. या प्रकरणातटॅग करणे. या प्रकरणात, उदाहरण 4 मधील फॉर्म यासारखे दिसेल.

    आम्ही सर्वांनी कधीतरी फॉर्म भरले आहेत. काहींनी संकलित केलेल्या निकालांवर प्रक्रिया केली, मग ती ऑनलाइन स्टोअरमध्ये दिलेली ऑर्डर असो किंवा रिटर्न सर्व्हिस. वापरकर्त्याला काही माहिती भरण्यास सांगताना, ती एका विशिष्ट फॉरमॅटशी सुसंगत असावी असे आम्हाला वाटते, विशेषत: जर ती नंतर 1C bitrix, WorldPress इत्यादी CMS द्वारे प्रक्रिया केली जाते. तथापि, जर टेलिफोन कॉलममध्ये वापरकर्त्याने काही कारणास्तव त्याचे लिखाण केले स्काईप लॉगिन, डेटा प्रोसेसिंग त्रुटी उद्भवू शकते: ती रेकॉर्ड केली जाणार नाही आणि वापरकर्त्याला फॉर्म भरण्याच्या पृष्ठावर परत फेकले जाईल. परिणामी, प्रविष्ट केलेला डेटा ऑनलाइन कसा तपासायचा आणि चुकीचा डेटा पाठवण्यापासून कसे रोखायचे हा प्रश्न उद्भवतो.

    आमच्याद्वारे विकसित केलेल्या वर्णन केलेल्या सोल्यूशनचे कार्य, न्यूकॉम वेबसाइटवरील ऑर्डरिंग प्रक्रियेचे उदाहरण वापरून त्वरित मूल्यांकन केले जाऊ शकते. खाली आम्ही त्याच्या विकासाच्या प्रक्रियेबद्दल एक कथा सुरू करू, तसेच आणखी काही उदाहरणे देऊ.

    समस्येचे सूत्रीकरण

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

    जर तुम्ही समस्या ब्लॉकमध्ये मोडली तर तुम्हाला अंदाजे मिळेल पुढील आकृती:

    बरं, एखादी योजना असेल तर ती राबवूया.

    तपासणी पर्यायांचे विश्लेषण.

    फॉर्मवर कोणती फील्ड सर्वात सामान्य आहेत?

    • मजकूर इनपुट, जे, एक नियम म्हणून, एकतर पूर्णतेसाठी किंवा साध्यासाठी तपासले जातात नियमित अभिव्यक्तीईमेल किंवा फोन सारखे.
    • चिन्हाच्या उपस्थितीसाठी चेकबॉक्सेस तपासले (जसे की वैयक्तिक डेटाच्या प्रक्रियेसाठी करार).
    • आम्ही ड्रॉप-डाउन सूची देखील नमूद करू शकतो ज्या काही रिक्त नसलेल्या मूल्यासाठी तपासल्या जातात.
    • कपटी रेडिओ बटणांबद्दल विसरू नका. का कपटी? गुण तपासण्यात त्रुटी आहेत.
    अर्थात, फील्ड एकतर अनिवार्य किंवा पर्यायी असू शकते. एखादी फील्ड ऐच्छिक असते तेव्हा परिस्थिती शक्य असते, परंतु तुम्ही ते भरत असल्याने, ते कसेही करू नका, परंतु एका विशिष्ट नियमानुसार करा.

    आम्ही कमी-अधिक प्रमाणात सार्वत्रिक स्क्रिप्ट लिहिण्याचे ठरवले असल्याने, आम्हाला विकृत असामान्य रचनांचा विचार करणे आवश्यक आहे, ज्यांना भविष्यात "समूह" म्हटले जाईल. या शब्दाचा अर्थ एकमेकांशी जोडलेली फील्ड. उदाहरणार्थ, जर वापरकर्त्याने "ईमेलद्वारे बातम्या पाठवा" चेकबॉक्स चेक केला असेल, तर "ई-मेल" आयटम भरणे अनिवार्य होते किंवा त्यांना फोन नंबर कोड आणि नंबरमध्ये विभागणे आवडते - नंतर अचूकता सर्व फील्डमध्ये तपासले जाणे आवश्यक आहे, आणि एकाच्या चुकीमुळे दोन्हीमध्ये त्रुटी समाविष्ट आहे. आणि त्रुटी संदेश ग्रुपच्या सर्व फील्डसाठी प्रदर्शित केला जाऊ नये, परंतु फक्त एकासाठी, अन्यथा त्यांची संख्या तुमचे डोळे विस्फारण्यास सुरवात करेल.

    कोणता निष्कर्ष काढला जाऊ शकतो?
    आपल्याला संघटित करण्याची गरज आहे सामान्य तपासणीमजकूर फील्ड, ईमेल सत्यापन आणि "डिजिटल" फील्ड जसे की फोन नंबर, वय इ. चेकबॉक्सेस आणि रेडिओ बटणे चेक केलेल्या मालमत्तेद्वारे तपासली जातात, ड्रॉप-डाउन सूची मूल्यानुसार तपासल्या जातात. धूर्त गटांना संतुष्ट करण्यासाठी, त्यांच्यासाठी एक हँडलर देखील लिहा. याव्यतिरिक्त, विशेषतः गोंधळात टाकणाऱ्या प्रकरणांसाठी काही सानुकूल कार्यासह काही फील्ड तपासण्याची क्षमता प्रदान करा.

    तपासल्या जाणाऱ्या फील्ड आणि पडताळणीच्या प्रकारांबद्दल माहितीचे संचयन आयोजित करणे. समजा आम्हाला ईमेलसाठी खालील इनपुट तपासण्याची आवश्यकता आहे:

    माझ्या मते, येथे फक्त दोन स्टोरेज पर्याय आहेत:

  • आम्ही एक जावास्क्रिप्ट ऑब्जेक्ट तयार करतो ज्यामध्ये आम्ही पडताळणीसाठी आवश्यक फील्ड संग्रहित करतो.
  • आम्ही चेकबद्दल माहिती थेट फील्ड टॅगमध्ये समाविष्ट करतो.
  • JS ऑब्जेक्ट जलद कार्य करेल आणि टॅगमधील काही मानक नसलेल्या गुणधर्मांपेक्षा अधिक योग्य दिसेल. समजा ते असे दिसेल:

    Var checkThis=( हँडल: "$("")", // तपासले जात असलेल्या फील्डचे पॉइंटर: "ईमेल", // चेक प्रकार: नियमित, ईमेल, क्रमांक शीर्षक: "येथे तुमचा ईमेल प्रविष्ट करा, उदाहरणार्थ", // एरर नेसेसबद्दल इशारा: सत्य,//आवश्यक ध्वज गट: असत्य,//ग्रुप पॉइंटर); var AllChecks=;// आणि हा एक ॲरे आहे जिथे सर्व तपासलेल्या वस्तू संग्रहित केल्या जातील

    जर प्रोग्रामर साइटवर पोहोचला जेव्हा ती आधीच पूर्णपणे मांडली गेली असेल (म्हणजेच, कृती विज्ञान कथा कादंबरीत घडते) - हा दृष्टीकोन उत्कृष्ट आहे. परंतु बऱ्याचदा काहीतरी निश्चितपणे पूर्ण करणे आवश्यक असते, ज्यात अतिरिक्त फील्ड जोडणे किंवा नवीन फॉर्म तयार करणे आणि फील्ड हँडलरची भर घालणे लेआउट डिझाइनरच्या विवेकबुद्धीनुसार सोडणे, जरी तुमच्याकडे लिखित कन्स्ट्रक्टर असला तरीही, त्यांच्याकडून सतत विनंत्या करण्यासाठी स्वतःला नशिबात आणणे. "a" शैलीमध्ये येथे सर्व काही तुटलेले आहे. आणि मग तुम्हाला कल्पना, ऑटोमेशन (चांगले, अधिक तंतोतंत, स्वत: ला, तुमच्या प्रिय व्यक्तीला, शरीराच्या अनावश्यक हालचालींपासून मुक्त करणे) या कल्पनेच्या मुख्य सूत्राबद्दल विसरून जावे लागेल.

    मग तुम्ही प्रमाणिकर नसलेल्या विशेषतांमध्ये सत्यापन डेटा भरण्याचा प्रयत्न करू शकता, लॅकोनिक बदलू शकता

    सारख्या मोठ्या राक्षसात आम्ही या पर्यायावर लक्ष केंद्रित करू. आम्ही अष्टपैलुत्वासाठी आहोत.

    मग आम्ही खालील प्रक्रिया केलेले टॅग प्रविष्ट करतो:

    शीर्षकहे अर्थातच मानक आहे, परंतु येथे आम्ही फील्डच्या चुकीच्या पूर्णतेबद्दल एक संदेश लिहू. आणि आम्ही ते “Specify”+title या शैलीमध्ये प्रदर्शित करू
    cfm_checkपडताळणी ध्वज म्हणजे आम्ही तपासले जाणारे फील्ड शोधण्यासाठी वापरणार आहोत. आणि ते खालील मूल्ये घेऊ शकतात:
    • Y म्हणजे तुम्हाला तपासण्याची गरज आहे
    • ईमेल किंवा क्रमांक - म्हणजे मानक तपासणीभरले असल्यास ईमेल किंवा नंबर/फोनद्वारे
    • Y_email / Y_num – अनिवार्य तपासणीईमेल किंवा नंबर द्वारे
    • groupID(Y) - कंसात निर्दिष्ट केलेल्या पडताळणी पॅरामीटर्ससह अभिज्ञापक ग्रुपआयडीसह गटातील घटक संलग्न करणे
    cfm_confirminfoडीफॉल्टनुसार, घटक तपासल्यानंतर लगेच त्रुटी प्रदर्शित केल्या जातील, जे नेहमीच सोयीचे नसते. तर आपण या विशेषता मध्ये jq सिलेक्टरला त्या एलिमेंटला सूचित करू ज्यानंतर त्रुटी दिसून येईल.
    उदाहरणार्थ, cfm_confirminfo='#placeForErrors'
    cfm_functionओव्हरलोड केलेले cfm_check क्लिष्ट होऊ नये म्हणून, येथे आम्ही नॉन-स्टँडर्ड फील्ड चेकिंग फंक्शनचे नाव लिहू.
    फील्ड तपासण्यासाठी स्क्रिप्ट पूर्ण झाली आहे.

    आम्हाला माहिती मिळाली आहे, त्यावर प्रक्रिया करणे बाकी आहे. येथे अल्गोरिदम क्लिष्ट नाही:

    • इनपुटवर ज्या फॉर्ममध्ये तपासणी करायची आहे त्यासाठी आम्ही पॉइंटर देतो (आमच्याकडे पृष्ठावर अनेक फॉर्म असू शकतात!);
    • आम्ही निर्दिष्ट फॉर्म घटकांमधून जातो, ते योग्यरित्या भरले आहेत की नाही ते तपासतो;
    • त्रुटी असल्यास, आम्ही त्यांना चिन्हांकित करतो, आम्ही फॉर्म प्रमाणित करण्यास परवानगी देतो.

    कदाचित js कोड तयार करण्याची वेळ आली आहे जी कार्यक्षमतेची किमान अंशतः अंमलबजावणी करते, कारण असा मजकूर आधीच लिहिला गेला आहे?

    If(typeof cFM_classError === "अपरिभाषित")//येथे आम्ही चुकीच्या फील्डसाठी नियुक्त केलेला css वर्ग लिहितो var cFM_classError="cFM_wrong"; फंक्शन cFM_checktrueAttr(पालक)//प्रक्रियेसाठी डेटा तयार करते //(पालक हा फॉर्मचा jq-पॉइंटर आहे, किंवा एक संयोजन ब्लॉक आहे) ( var error=true; // पूर्वी म्हटल्या गेलेल्या फंक्शन $("div." नंतर साफ करा. +cFM_classError).remove ();//इशारे काढा $("."+cFM_classError).each(function())(//remove error highlighting $(this).removeClass(cFM_classError); )); //शोधा var inputsToHandle=false ; if(typeof parent !== "undefined") inputsToHandle=parent.find(""); else inputsToHandle=$("");//चांगले, जर पालक निर्दिष्ट नसेल तर सर्वकाही तपासा // सापडलेले घटक पकडा आणि त्यांचे निरीक्षण करा inputsToHandle.each(function())( if(error) error=cFM_prepareChecking(this);//ऑब्जेक्ट तपासा, किमान एक त्रुटी पहा अन्यथा cFM_prepareChecking(हे); ); याचा अर्थ फक्त दर्शविण्यासाठी आहे की त्रुटी आहे हे मूल्य घेते: सत्य - कोणतीही त्रुटी नाही; असत्य - फील्ड भरलेले नाही; "चुकीचे" - फील्ड चुकीच्या पद्धतीने भरले आहे;*/ // फील्डमध्ये त्रुटी आढळल्यास त्याची स्वाक्षरी निश्चित करा. डीफॉल्टनुसार ते // "फील्ड मूल्य निर्दिष्ट करा" प्रदर्शित करेल जर शीर्षक निर्दिष्ट केले नसेल तर var शीर्षक = " फील्ड मूल्य"; if(typeof $(handle).attr("title") !== "undefined" && $(handle).attr("title").length>0) title=$(handle).attr("title"); var after = handle;//куда лепить сообщение об ошибке var attribute = $(handle).attr("cFM_check");//значение великого атрибута cFM_check //а не задали ли какую хитрую функцию для проверки поля? if(typeof $(handle).attr("cFM_function") !== "undefined") var chkFunk=$(handle).attr("cFM_function"); //наконец, проверяем поле if(typeof chkFunk !== "undefined") error=window($(handle)); else error=cFM_checkFullness(handle); //коль ошибка закралась к нам if(error!==true) { //определяем, куда лепим сообщение об ошибке if(typeof $(handle).attr("cFM_confirmInfo") !== "undefined") { after=$(handle).attr("cFM_confirmInfo"); if(after.indexOf("self")===0)//если вдруг селфы непойми зачем прилепили after=after.substr(4); } if(error==="wrong")//коль поле заполнено неправильно $(after).after("!}

    अवैध फील्ड मूल्य

    "); बाकी( if(error===false)// if $(after).after("

    "+शीर्षक+" निर्दिष्ट करा

    ");//html errors else// जर विशेष html $(after).after(""); ) $(handle).addClass(cFM_classError);//एरर क्लास जोडल्यास जर($(हँडल) attr("type")=="रेडिओ")//आम्ही रेडिओ बटणे अंतिम करत आहोत मानक कार्यतपासा ( var error = true; // विशेषता var विशेषता वरून डेटा वाचा = $(हँडल).attr("cFM_check"); // आवश्यक ध्वज var आवश्यक = सत्य; if(attribute.indexOf("Y")=== -1) आवश्यक = असत्य; // format var format=attribute तपासा; हे घटकासाठी आहे ( केस "चेकबॉक्स": if(!$(handle).prop("checked")) error=false; break; case "radio":// promised problem with radio if(!$(handle) .prop("checked") && $(":checked").length==0) error=false; else error=true; //दोन्ही मजकूर, सिलेक्ट आणि टेक्सटेरिया मुलभूत आहेत: if($ (हँडल .val().trim().length==0 || $(handle).val()=="0") && आवश्यक) error=false ( if(format==="num")/ /संख्या तपासा ( var regCheck = new RegExp("[^0-9\s-]+"); if(regCheck.test($(handle).val())) error="wrong"; ) तर (स्वरूप==="ईमेल")//ईमेलसाठी तपासा ( var regCheck = new RegExp("^(+[-._+&])*+@([-0-9a-zA-Z] +[. ])+(2,6)$"); if(!regCheck.test($(handle).val())) error="wrong"; ) ) ब्रेक; ) रिटर्न एरर; )

    उदाहरण म्हणून, आम्ही देखील देतो विशेष कार्यचेक, उदाहरणार्थ, इनपुटमध्ये दोन शब्दांची उपस्थिती तपासत आहे (प्रथम नाव आडनाव किंवा नाव, आडनाव). या फंक्शनसाठी चेक ट्रिगर करणारे इनपुट खालीलप्रमाणे लागू केले आहे:

    आणि चेक फंक्शन दिसेल, उदाहरणार्थ, यासारखे: फंक्शन checkName(handle) ( var handleValue=handle.val().trim(); // सराव दर्शविल्याप्रमाणे, वापरकर्ते त्यांचे नाव त्यांच्या आडनावापासून वेगळे करण्यासाठी काहीही करतात. if(handleValue.indexOf("")!==-1 || handleValue.indexOf(",")!==-1 || handleValue.indexOf(".")!==-1) खरे परत करा; असत्य; आम्ही आमच्या काही तपासण्या सेट केल्या पाहिजेत: div.cFM_wrong ( color:red; font-size:10px; position:absolute; width:140px; ) input.cFM_wrong (पार्श्वभूमी: #ffd9d9; बॉर्डर-रंग:#d3adad; ) स्क्रिप्ट फॉर्म प्रमाणीकरण.

    आता, जर cFM_checkFullness() फंक्शन यशस्वीरित्या पूर्ण झाले (म्हणजेच खरे परत आले), तर स्क्रिप्टने फॉर्म प्रक्रियेसाठी पाठवला पाहिजे. हे कसे अंमलात आणायचे यावर अवलंबून आहे विशिष्ट फॉर्म. जर डिस्पॅचची पुष्टी झाली सबमिट बटण- नंतर तुम्ही फॉर्म सबमिशन इव्हेंटचे सदस्यत्व घेऊ शकता (ऑनसमिट करा) आणि चेकच्या निकालावर अवलंबून, तो पाठवा किंवा नाही. उदाहरणार्थ, यासारखे:

    आणि येथे, फॉर्म टॅग्जचा एक समूह जर Ajax वापरून पाठवला असेल, तर सर्व काही सोपे आहे: cFM_checktrueAttr($(this)) फंक्शनच्या परिणामानुसार कॉल करा.

    वरील कोडमध्ये गटांसाठी कोणतीही तपासणी नाही (कारण कोडची अवजडपणा लक्षणीयरीत्या वाढते आणि या लेखाच्या स्क्रोलबारच्या आकारामुळे कदाचित अनेक अभ्यागतांना भीती वाटली असेल). अल्गोरिदममधील फरक क्षुल्लक असतील: गटानुसार घटक तपासणे वेगळ्या ब्लॉकमध्ये सुरू केले जावे आणि संपूर्ण ब्लॉकच्या ऑपरेशनवर अवलंबून, विशिष्ट घटकामध्ये त्रुटी संदेश प्रदर्शित केला जाईल.
    खरे आहे, या क्षणी ते धीमे करणे आणि विचार करणे योग्य आहे: गटांना समर्थन देण्यासाठी कोडमध्ये बदल करणे खरोखर आवश्यक आहे किंवा आम्ही काही जटिल फील्डसाठी स्वतंत्र सत्यापन कार्य लिहिण्यापर्यंत मर्यादित करू शकतो?

    आमच्याकडे शेवटी काय आहे? काही फायली (.js आणि .css) कनेक्ट करून, आम्हाला मालमत्ता तपासणी कार्यक्षमता मिळते जी तुम्ही कोणत्याही साइटवर शांततेने टाकू शकता, जर jquery कनेक्ट केलेली असेल. शेवटी, एकाच प्रकारच्या प्रत्येक कार्यापूर्वी त्यांची निर्मिती करण्यात बराच वेळ घालवण्यापेक्षा तयार साधनांचा संच हातात असणे अधिक चांगले आहे.

    कनेक्शन आणि उदाहरणे

    प्रथम आपल्याला आवश्यक आहे jquery लायब्ररी. आपण ते डाउनलोड करू शकता, उदाहरणार्थ, अधिकृत वेबसाइटवरून.
    किंवा फक्त तुमच्या साइटच्या शीर्षलेखात (टॅगच्या आत काय आहे) ओळ घाला

    नंतर डाउनलोड करा (उजवे क्लिक करा -> तुम्हाला "सेव्ह" शब्दासह आवडलेली आयटम) येथून js कोड असलेली फाइल आणि आवश्यक असल्यास, चुकीच्या फील्डसाठी css शैली असलेली फाइल येथून.
    आम्ही त्यांना हेडरमध्ये देखील जोडतो: आता तुम्हाला कोणत्या प्रकारची तपासणी करायची आहे यावर अवलंबून, फॉर्म फील्डच्या गुणधर्मांची व्यवस्था करणे आवश्यक आहे.
    फिनिशिंग टच- onsubmit इव्हेंट टॅग जोडत आहे: "onsubmit="return cFM_checktrueAttr($(this));"".

    चला आता अशा साध्या फॉर्मची तपासणी अंमलात आणण्याचा प्रयत्न करूया.

    जे कधीतरी वेबसाइट तयार करतात त्यांना वापरकर्त्याने साइटवर पोस्ट केलेल्या फॉर्मची फील्ड भरली आहे की नाही हे तपासण्याची गरज भासते. या उद्देशासाठी, रिक्त फील्ड तपासण्यासाठी काही प्रकारचा पर्याय तयार केला जातो, जो त्याच्या प्रकल्पांमध्ये वापरला जातो. परंतु प्रत्येक प्रकरणासाठी, तपासण्याची आवश्यकता असलेल्या फील्डची संख्या भिन्न असू शकते. हे या वस्तुस्थितीला कारणीभूत ठरते की तयार केलेला सत्यापन पर्याय विशिष्ट परिस्थितीनुसार बदलला जाणे आवश्यक आहे आणि भविष्यात आमच्याकडे त्यात अनेक बदल केले जातील.

    याव्यतिरिक्त, साइटच्या एका पृष्ठावर अनेक फॉर्म ठेवले जाऊ शकतात, त्यापैकी प्रत्येक असेल विविध प्रमाणातजरूरी माहिती. परिणामी, कोडमध्ये समान फंक्शन्ससह अनेक ब्लॉक समाविष्ट असतील, परंतु भिन्न परिस्थिती, जो नेहमीच योग्य निर्णय नसतो.

    माझ्या सरावात मलाही वापरावे लागले भिन्न रूपेविशिष्ट अटींवर अवलंबून फॉर्म फील्डची पूर्तता तपासत आहे. आणि *.js फाइलमध्ये तपासण्यासाठी अनेक कार्ये होती विविध रूपे, ज्याने कोडचा आवाज वाढवला आणि त्याची समज बिघडली.


    काही क्षणी, रिक्त फील्ड तपासण्यासाठी सार्वत्रिक पद्धतीची आवृत्ती लिहिण्याचा निर्णय घेण्यात आला, जी कोणत्याही आवश्यक फील्डसह कोणत्याही फॉर्मसाठी वापरली जाऊ शकते. आवश्यक अटीही पद्धत साधेपणा आणि अवजड संरचनांच्या अनुपस्थितीद्वारे निश्चित केली गेली. परिणामी, एक पद्धत सापडली जी मला तिच्या साधेपणा आणि अष्टपैलुपणाने पूर्णपणे संतुष्ट करते.


    या पद्धतीचे सार:

  • आवश्यक फील्डसाठी html मार्कअपमध्ये, डेटा विशेषता जोडली जाते, जी अनिवार्य मार्कर आहे.
  • प्रमाणीकरण फक्त त्या फील्डसाठी केले जाते ज्यात ही विशेषता आहे.
  • मूल्य तपासून कार्यक्षमता विस्तृत करण्याची शक्यता, वापरकर्त्याद्वारे निर्दिष्टशेतात
  • फॉर्म मार्कअपचे उदाहरण:


    फॉर्म मथळा #1 आवश्यक आवश्यक आवश्यक आवश्यक आवश्यक

    उदाहरण फील्ड प्रमाणीकरण कोड:


    $(."js-form-validate").submit(function () ( var form = $(this); var field = ; form.find("input").each(function() ( field.push(" इनपुट"); var मूल्य = $(this).val(), line = $(this).closest(."some-form__line"); for(var i=0;i

    आम्ही वाचण्याची शिफारस करतो

    वर