क्लाइंट-साइड फ़ॉर्म सत्यापन तर्क
कस्टम jQuery सत्यापन का उपयोग करके उन्नत क्लाइंट-साइड सत्यापन नियम लागू करें, उपयोगकर्ताओं को तुरंत प्रतिक्रिया दें और सबमिशन से पहले डेटा की अखंडता सुनिश्चित करें।
क्लाइंट-साइड फ़ॉर्म सत्यापन तर्क, CoddyKit पर jQuery Academy का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह jQuery Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। jQuery Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
क्लाइंट पर फ़ॉर्म का सत्यापन क्यों करें?
क्लाइंट-साइड फ़ॉर्म सत्यापन उपयोगकर्ता के इनपुट को सर्वर पर भेजे जाने से पहले जाँचता है। उपयोगकर्ता-अनुकूल वेब अनुप्रयोग बनाने के लिए यह एक महत्वपूर्ण चरण है।
- बेहतर उपयोगकर्ता अनुभव: उपयोगकर्ताओं को त्रुटियों की तुरंत जानकारी मिल जाती है, जिससे वे सर्वर की प्रतिक्रिया की प्रतीक्षा किए बिना गलतियाँ सुधार सकते हैं।
- सर्वर पर कम भार: अमान्य डेटा को शुरुआत में ही पकड़ लिया जाता है, जिससे आपके सर्वर को अनावश्यक अनुरोधों को संसाधित नहीं करना पड़ता।
- तेज़ इंटरैक्शन: पेज को फिर से लोड न करने से फ़ॉर्म का अनुभव अधिक तेज़ और प्रतिक्रियाशील बनता है।
बुनियादी HTML5 सत्यापन से आगे
HTML5 required, type="email" और pattern जैसे बुनियादी सत्यापन एट्रिब्यूट प्रदान करता है। ये उपयोगी हैं, लेकिन जटिल व्यावसायिक नियमों या कस्टम प्रतिक्रिया के लिए अक्सर पर्याप्त लचीलापन नहीं देते।
उदाहरण के लिए, HTML5 से यह जाँचना आसान नहीं है कि पासवर्ड मज़बूती की कुछ विशेष शर्तें पूरी करता है या नहीं (जैसे, कम से कम 8 वर्ण, एक अंक और एक प्रतीक), या पासवर्ड के दोनों फ़ील्ड आपस में मेल खाते हैं या नहीं। यहीं jQuery काम आता है!
फ़ॉर्म सबमिशन को बीच में रोकना
कस्टम सत्यापन का पहला चरण ब्राउज़र के डिफ़ॉल्ट फ़ॉर्म सबमिशन को रोकना है। इसके लिए हम jQuery के .submit() इवेंट हैंडलर और event.preventDefault() का उपयोग करते हैं।
इससे हम पहले अपना सत्यापन तर्क चला सकते हैं। यदि फ़ॉर्म मान्य है, तो हम उसे बाद में मैन्युअल रूप से सबमिट कर सकते हैं (या AJAX के ज़रिए भेज सकते हैं, जिसे हम किसी अन्य पाठ में समझाएँगे)।
<!-- HTML part (imagine this exists) -->
<form id="myForm">
<input type="text" id="username" required>
<button type="submit">Submit</button>
</form>
<script>
$(document).ready(function() {
$('#myForm').submit(function(event) {
// Stop the form from submitting normally
event.preventDefault();
console.log("Form submission intercepted!");
// Here, you'd add your validation logic
});
});
</script>कस्टम सत्यापन फ़ंक्शन की संरचना
अपने सत्यापन तर्क को दोबारा उपयोग किए जा सकने वाले फ़ंक्शन में समाहित करना अच्छा अभ्यास है। फ़ॉर्म मान्य होने पर यह फ़ंक्शन true और अन्यथा false लौटा सकता है।
इसके बाद आप सबमिशन करना है या नहीं, यह तय करने के लिए अपने फ़ॉर्म के submit इवेंट हैंडलर के भीतर इस फ़ंक्शन को कॉल कर सकते हैं।
<!-- HTML part -->
<form id="loginForm">
<input type="text" id="email" placeholder="Email">
<button type="submit">Login</button>
</form>
<script>
function validateLoginForm() {
let isValid = true;
const email = $('#email').val();
if (email === '' || !email.includes('@')) {
console.log("Invalid email!");
isValid = false;
}
// More validation checks here...
return isValid;
}
$(document).ready(function() {
$('#loginForm').submit(function(event) {
event.preventDefault();
if (validateLoginForm()) {
console.log("Form is valid! Submitting...");
// $(this).off('submit').submit(); // To submit programmatically
} else {
console.log("Form has errors. Please fix.");
}
});
});
</script>टेक्स्ट फ़ील्ड की लंबाई का सत्यापन
एक सामान्य सत्यापन नियम टेक्स्ट इनपुट की न्यूनतम या अधिकतम लंबाई जाँचना है। इनपुट का .val() प्राप्त करके और उसकी .length प्रॉपर्टी जाँचकर हम यह आसानी से कर सकते हैं।
आइए, उपयोगकर्ता नाम की न्यूनतम लंबाई 5 वर्ण निर्धारित करें।
<!-- HTML part -->
<form id="userForm">
<input type="text" id="username" placeholder="Username">
<button type="submit">Create User</button>
</form>
<script>
function validateUsernameLength() {
const username = $('#username').val();
if (username.length < 5) {
console.log("Username must be at least 5 characters long.");
return false;
}
return true;
}
$(document).ready(function() {
$('#userForm').submit(function(event) {
event.preventDefault();
if (validateUsernameLength()) {
console.log("Username is valid!");
} else {
console.log("Validation failed.");
}
});
});
</script>उपयोगकर्ता को तुरंत प्रतिक्रिया देना
सिर्फ़ कंसोल में त्रुटियों का लॉग दर्ज करना उपयोगकर्ताओं के लिए पर्याप्त नहीं है! हमें पेज पर सीधे स्पष्ट और तुरंत प्रतिक्रिया दिखानी होगी। आप फ़ील्ड के पास त्रुटि संदेश जोड़ सकते हैं या अमान्य इनपुट को हाइलाइट कर सकते हैं।
उपयोगकर्ता नाम बहुत छोटा होने पर त्रुटि संदेश दिखाने के लिए हम एक <span> एलिमेंट जोड़ेंगे।
<!-- HTML part -->
<form id="userFormFeedback">
<label for="usernameFeedback">Username:</label>
<input type="text" id="usernameFeedback" placeholder="Min 5 chars">
<span id="usernameError" style="color: red;"></span>
<button type="submit">Create User</button>
</form>
<script>
$(document).ready(function() {
$('#userFormFeedback').submit(function(event) {
event.preventDefault();
const username = $('#usernameFeedback').val();
const $errorSpan = $('#usernameError');
if (username.length < 5) {
$errorSpan.text("Username too short!");
$('#usernameFeedback').css('border', '1px solid red');
} else {
$errorSpan.text("");
$('#usernameFeedback').css('border', '');
console.log("Username is valid!");
}
});
});
</script>रेगुलर एक्सप्रेशन से ईमेल का सत्यापन
ईमेल फ़ॉर्मैट जैसे जटिल पैटर्न मिलान के लिए रेगुलर एक्सप्रेशन अत्यंत उपयोगी होते हैं। JavaScript की RegExp.test() मेथड इसके लिए बिल्कुल उपयुक्त है।
एक बुनियादी ईमेल रेगुलर एक्सप्रेशन वर्णों, '@' चिह्न और डोमेन की जाँच कर सकता है। ध्यान रखें कि बहुत सख्त ईमेल रेगुलर एक्सप्रेशन अत्यधिक जटिल हो सकता है, इसलिए संतुलन बनाए रखने का प्रयास करें।
<!-- HTML part -->
<form id="emailForm">
<label for="userEmail">Email:</label>
<input type="text" id="userEmail" placeholder="your@example.com">
<span id="emailError" style="color: red;"></span>
<button type="submit">Subscribe</button>
</form>
<script>
$(document).ready(function() {
$('#emailForm').submit(function(event) {
event.preventDefault();
const email = $('#userEmail').val();
const $errorSpan = $('#emailError');
// Basic email regex: something@something.something
const emailRegex = /^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$/;
if (!emailRegex.test(email)) {
$errorSpan.text("Invalid email format.");
$('#userEmail').css('border', '1px solid red');
} else {
$errorSpan.text("");
$('#userEmail').css('border', '');
console.log("Email is valid!");
}
});
});
</script>संख्यात्मक सीमा का सत्यापन
कभी-कभी यह सुनिश्चित करना आवश्यक होता है कि कोई संख्या किसी निश्चित सीमा के भीतर है (जैसे, आयु 18 से 65 के बीच या मात्रा 1 से 100 के बीच)। हम इनपुट मान को संख्या में बदलकर सरल तुलनाएँ कर सकते हैं।
संख्यात्मक तुलना से पहले स्ट्रिंग इनपुट को parseInt() या parseFloat() का उपयोग करके संख्या में बदलना हमेशा याद रखें।
<!-- HTML part -->
<form id="ageForm">
<label for="userAge">Your Age:</label>
<input type="number" id="userAge" placeholder="Enter age">
<span id="ageError" style="color: red;"></span>
<button type="submit">Submit Age</button>
</form>
<script>
$(document).ready(function() {
$('#ageForm').submit(function(event) {
event.preventDefault();
const ageInput = $('#userAge').val();
const age = parseInt(ageInput, 10); // Convert to integer
const $errorSpan = $('#ageError');
if (isNaN(age) || age < 18 || age > 65) {
$errorSpan.text("Age must be between 18 and 65.");
$('#userAge').css('border', '1px solid red');
} else {
$errorSpan.text("");
$('#userAge').css('border', '');
console.log("Age is valid!");
}
});
});
</script>कई सत्यापन नियमों को संयोजित करना
अक्सर फ़ॉर्म में किसी एक फ़ील्ड या कई फ़ील्ड के लिए कई सत्यापन नियम आवश्यक होते हैं। आप अपने सत्यापन फ़ंक्शन के भीतर इन जाँचों को एक के बाद एक चला सकते हैं।
एक सामान्य तरीका यह है कि शुरुआत में मान लिया जाए कि सब कुछ मान्य है, और कोई भी नियम विफल होने पर isValid = false सेट किया जाए। इससे उपयोगकर्ता को दिखाने से पहले सभी त्रुटियाँ एकत्र की जा सकती हैं।
- अलग-अलग सहायक सत्यापन फ़ंक्शन कॉल करें।
- परिणामों को बूलियन फ़्लैग में संग्रहीत करें।
- सभी संबंधित त्रुटि संदेश दिखाएँ।
अपने सत्यापन कौशल की जाँच करें
'Product Code' के लिए एक फ़ॉर्म फ़ील्ड पर विचार करें, जिसे दो नियम पूरे करने हैं:
- इसकी लंबाई ठीक 6 वर्ण होनी चाहिए।
- इसमें केवल बड़े अक्षर और अंक (A-Z, 0-9) होने चाहिए।
'productCode' इनपुट फ़ील्ड का सही तरीके से सत्यापन करके त्रुटि संदेश दिखाने वाला jQuery स्निपेट कौन-सा है?
पुनरावलोकन: क्लाइंट-साइड सत्यापन
इस पाठ में आपने jQuery का उपयोग करके मज़बूत क्लाइंट-साइड फ़ॉर्म सत्यापन लागू करना सीखा। हमने इन विषयों को शामिल किया:
- UX और प्रदर्शन के लिए क्लाइंट-साइड सत्यापन का महत्व।
event.preventDefault()से फ़ॉर्म सबमिशन को बीच में रोकना।- कस्टम सत्यापन फ़ंक्शन की संरचना।
- टेक्स्ट की लंबाई, ईमेल पैटर्न (रेगुलर एक्सप्रेशन) और संख्यात्मक सीमाओं के नियम लागू करना।
- उपयोगकर्ताओं को स्पष्ट और तुरंत प्रतिक्रिया देना।
इन तकनीकों में निपुणता आपको अधिक इंटरैक्टिव और त्रुटि-रोधी फ़ॉर्म बनाने में मदद करेगी!
एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 22
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “क्लाइंट-साइड फ़ॉर्म सत्यापन तर्क” पाठ निःशुल्क है?
हाँ — jQuery Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “क्लाइंट-साइड फ़ॉर्म सत्यापन तर्क” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। jQuery Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“क्लाइंट-साइड फ़ॉर्म सत्यापन तर्क” में मैं क्या सीखूँगा?
कस्टम jQuery सत्यापन का उपयोग करके उन्नत क्लाइंट-साइड सत्यापन नियम लागू करें, उपयोगकर्ताओं को तुरंत प्रतिक्रिया दें और सबमिशन से पहले डेटा की अखंडता सुनिश्चित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ jQuery Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या jQuery Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर jQuery Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।
“क्लाइंट-साइड फ़ॉर्म सत्यापन तर्क” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस jQuery Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर jQuery Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- गतिशील फ़ॉर्म फ़ील्ड हेरफेर
- क्लाइंट-साइड फ़ॉर्म सत्यापन तर्क
- AJAX फ़ॉर्म सबमिशन और प्रतिक्रिया