Logik Pengesahan Borang Sisi Pelanggan
Laksanakan peraturan pengesahan sisi pelanggan lanjutan, berikan maklum balas segera kepada pengguna dan pastikan integriti data sebelum penyerahan menggunakan pengesahan jQuery tersuai.
Logik Pengesahan Borang Sisi Pelanggan ialah pelajaran jQuery Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 3. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran jQuery Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus jQuery Academy merangkumi sejumlah 3 pelajaran.
Mengapa Mengesahkan Borang pada Sisi Klien?
Pengesahan borang pada sisi klien menyemak input pengguna sebelum input tersebut dihantar ke pelayan. Ini ialah langkah penting untuk membina aplikasi web yang mesra pengguna.
- Pengalaman Pengguna yang Lebih Baik: Pengguna menerima maklum balas serta-merta tentang ralat, lalu dapat membetulkan kesilapan tanpa menunggu respons pelayan.
- Beban Pelayan yang Dikurangkan: Data yang tidak sah dikesan lebih awal, sekali gus mengelakkan pelayan daripada memproses permintaan yang tidak diperlukan.
- Interaksi yang Lebih Pantas: Tiada pemuatan semula halaman bermakna pengalaman menggunakan borang menjadi lebih lancar dan responsif.
Melangkaui Pengesahan Asas HTML5
HTML5 menyediakan atribut pengesahan asas seperti required, type="email", dan pattern. Walaupun berguna, atribut ini sering kurang fleksibel untuk peraturan perniagaan yang kompleks atau maklum balas tersuai.
Contohnya, HTML5 tidak dapat menyemak dengan mudah sama ada kata laluan memenuhi kriteria kekuatan tertentu (contohnya, sekurang-kurangnya 8 aksara, satu nombor dan satu simbol) atau sama ada dua medan kata laluan sepadan. Di sinilah jQuery memainkan peranan!
Memintas Penghantaran Borang
Langkah pertama dalam pengesahan tersuai ialah menghalang penghantaran borang lalai pelayar. Untuk melakukannya, kami menggunakan pengendali acara .submit() jQuery dan event.preventDefault().
Ini membolehkan kami menjalankan logik pengesahan terlebih dahulu. Jika borang sah, kami kemudiannya boleh menghantarnya secara manual (atau menghantarnya melalui AJAX, yang akan dibincangkan dalam pelajaran lain).
<!-- 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>Menstrukturkan Fungsi Pengesahan Tersuai
Amalan yang baik ialah merangkumkan logik pengesahan anda dalam fungsi yang boleh digunakan semula. Fungsi ini boleh memulangkan true jika borang sah, dan false jika sebaliknya.
Anda kemudiannya boleh memanggil fungsi ini dalam pengendali acara submit borang untuk menentukan sama ada penghantaran perlu diteruskan.
<!-- 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>Mengesahkan Panjang Medan Teks
Peraturan pengesahan yang biasa ialah menyemak panjang minimum atau maksimum input teks. Kita boleh melakukannya dengan mudah dengan mendapatkan .val() bagi input dan menyemak sifat .lengthnya.
Mari tetapkan panjang minimum username kepada 5 aksara.
<!-- 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>Memberikan Maklum Balas Pengguna Serta-merta
Hanya merekodkan ralat pada konsol tidak memadai untuk pengguna! Kita perlu memaparkan maklum balas yang jelas dan serta-merta terus pada halaman. Anda boleh menambah mesej ralat di sebelah medan atau menyerlahkan input yang tidak sah.
Kami akan menambah elemen <span> untuk memaparkan mesej ralat apabila username terlalu pendek.
<!-- 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>Mengesahkan E-mel dengan Ungkapan Nalar
Untuk pemadanan corak yang kompleks, seperti format e-mel, ungkapan nalar (regex) amat berguna. Kaedah RegExp.test() JavaScript sangat sesuai untuk tujuan ini.
regex e-mel asas boleh menyemak aksara, simbol '@' dan domain. Ingat, regex e-mel yang terlalu ketat boleh menjadi terlalu kompleks, jadi usahakan keseimbangan.
<!-- 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>Pengesahan Julat Numerik
Kadang-kadang anda perlu memastikan nombor berada dalam julat tertentu (contohnya, umur antara 18 hingga 65, atau kuantiti antara 1 hingga 100). Kita boleh menukar nilai input kepada nombor dan melakukan perbandingan mudah.
Sentiasa ingat untuk menghuraikan input rentetan kepada nombor menggunakan parseInt() atau parseFloat() sebelum membuat perbandingan numerik.
<!-- 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>Menggabungkan Berbilang Peraturan Pengesahan
Borang sering memerlukan berbilang peraturan pengesahan untuk satu medan atau merentasi beberapa medan. Anda boleh menyusun semakan ini secara berantai dalam fungsi pengesahan anda.
Corak yang biasa digunakan ialah menganggap data sah, kemudian menetapkan isValid = false jika mana-mana peraturan gagal. Ini membolehkan anda mengumpulkan semua ralat sebelum memaparkannya kepada pengguna.
- Panggil fungsi pembantu pengesahan secara individu.
- Simpan hasil dalam bendera boolean.
- Paparkan semua mesej ralat yang berkaitan.
Uji Kemahiran Pengesahan Anda
Pertimbangkan medan borang untuk 'Kod Produk' yang perlu memenuhi dua peraturan:
- Panjangnya mestilah tepat 6 aksara.
- Medan itu hanya boleh mengandungi huruf besar dan digit (A-Z, 0-9).
Coretan jQuery yang manakah mengesahkan medan input 'productCode' dengan betul dan memaparkan mesej ralat?
Imbas Kembali: Pengesahan pada Sisi Klien
Dalam pelajaran ini, anda telah mempelajari cara melaksanakan pengesahan borang pada sisi klien yang kukuh menggunakan jQuery. Kami membincangkan:
- Kepentingan pengesahan pada sisi klien untuk pengalaman pengguna dan prestasi.
- Memintas penghantaran borang dengan
event.preventDefault(). - Menstrukturkan fungsi pengesahan tersuai.
- Melaksanakan peraturan untuk panjang teks, corak e-mel (regex) dan julat numerik.
- Memberikan maklum balas yang jelas dan serta-merta kepada pengguna.
Menguasai teknik ini akan membantu anda membina borang yang lebih interaktif dan tahan terhadap ralat!
Pelajari JavaScript dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 22
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Logik Pengesahan Borang Sisi Pelanggan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran jQuery Academy, termasuk “Logik Pengesahan Borang Sisi Pelanggan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus jQuery Academy merangkumi sejumlah 3 pelajaran.
Apakah yang akan saya pelajari dalam “Logik Pengesahan Borang Sisi Pelanggan”?
Laksanakan peraturan pengesahan sisi pelanggan lanjutan, berikan maklum balas segera kepada pengguna dan pastikan integriti data sebelum penyerahan menggunakan pengesahan jQuery tersuai. Anda berlatih jQuery Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan jQuery Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran jQuery Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 3.
Berapa lamakah pelajaran “Logik Pengesahan Borang Sisi Pelanggan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran jQuery Academy ini?
Ya. Setiap pelajaran jQuery Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Manipulasi Medan Borang Dinamik
- Logik Pengesahan Borang Sisi Pelanggan
- Penyerahan dan Maklum Balas Borang AJAX