Agar siz HTML shaklini ishga tushirganingizdan so'ng, siz barcha muhim sohalarning to'ldirilganligiga ishonch hosil qilishni xohlaysiz. Misol uchun, agar siz elektron pochta orqali tasdiqlash xati yubormoqchi bo'lsangiz, elektron pochta manzili ariza maydoniga kiritilishi kerak va u ishlaydigan elektron pochta manzili bo'lishi kerak.
Shakllaringizni tasdiqlashning ikki yo'li mavjud:
- JavaScript-ni ishlatish
- CGI skriptini ishlatish
Formalarni tekshirish uchun JavaScript-ni ishlatish
- JavaScript-ni ishlatish siz biron-bir server protsessor vaqtini ishlatmaysiz. Barcha jarayonlar mijoz kompyuterida amalga oshiriladi.
- Tez-tez CGI tekshiruvidan tezroq ishlaydi.
- Shakllar sahifasi o'zgarmagani uchun, o'quvchi xatolarni tuzatishi oson.
Shakllarni tasdiqlash uchun JavaScript-ni ishlatishning kamchiliklari
- JavaScript faqat brauzerlarda ishlaydi. Agar JavaScript o'chirilgan bo'lsa, xato tekshiruvi bajarilmaydi.
Formalarni tekshirish uchun CGI foydalanishning afzal tomonlari
- Tasdiqlash uchun CGIdan foydalanib, ariza topshirilgan har bir vaqtning o'zida tekshirish bajariladi.
Shakllarni tekshirish uchun CGI foydalanishning kamchiliklari
- CGI veb-serverga qo'shimcha yuk qo'yadi va CGI-ga kiritilgan har bir funktsiya server uchun yana bitta vazifadir.
- CGI ishlashi sekinlashishi mumkin.
- Xatolik yuzaga kelsa, mijozning shaklning birinchi sahifasiga qaytib borishi yoki CGI formasini qayta yozish uchun boshqa vazifaga muhtoj bo'lishi kerak.
Buni amalga oshirish usullari JavaScript-da bajarilgan xatolarni tekshirishning ko'pchilik qismiga ega bo'lishdir. Shunday qilib, o'quvchilar uchun tez va oson.
So'ngra CGI bilan formadagi muhim elementlarni qayta tekshirib ko'raman.
HTML formalarini tasdiqlash uchun JavaScript dan qanday foydalaniladi
Shaklni tasdiqlashning asosiy usuli - kerakli ariza elementlarining nomlarini izlash va ular bo'sh bo'lsa, xato xabari ko'rsatiladi.
Ko'p xato tekshiruvi dasturlari har bir sohani bir vaqtning o'zida tekshirib turadi va bir vaqtning o'zida bir xato ko'rsatiladi.
Bu shaklni zerikarli tarzda to'ldirishi mumkin va odamlar o'rtada to'xtashi mumkin. Quyidagi skriptni va Perl manbaidan foydalansangiz, butun bir formani bir vaqtning o'zida tekshirishni bilib olasiz, u holda o'quvchiingiz qaytib ketishi va tuzatishi mumkin bo'lgan bir qator xato xabarlarini ko'rsatib beradi.
Formani tasdiqlash uchun JavaScript
HTML-ning bosh qismida, ariza tekshiruvini bajarish uchun skript yaratishingiz kerak:
- Skriptni o'rnating va JavaScript-ni ishlolmaydigan brauzerlardan yashirin ekanligiga ishonch hosil qiling.
- Bu tasdiqlashni boshlaydigan funktsiya chaqiruvidir. O'zingizning o'zgaruvchan belgilaringizni skriptingizning yuqori qismiga o'rnatishingiz yaxshi shakl.
funktsiya tekshiruvchisi (theForm)
{var error = ""; - Shakllaringizda ochiladigan elementlar bo'lsa, birinchi variantni bo'sh maydon sifatida kiritishingiz kerak (masalan,
birini tanlang option>) Siz maydonda xohlagan matnni qo'shishingiz mumkin qiymat bo'sh bo'lsa, u holda. Keyin, unga qarshi tekshirilganda, birinchi variantni (bo'shli) hali ham o'rnatilganligini tekshiring, agar bo'lsa, xato xabari yozing. agar (theForm.dd.options [0] .selected == true)
{
xato + = "Iltimos, ochilgan ro'yxatni tanlang. \ n";} - Matn elementlari tekshirishning eng oson yo'li. Qiymatning bo'sh yoki yo'qligini tekshirib ko'ring. Agar shunday bo'lsa, xato xabari o'rnating. agar (theForm.words.value == "")
{
error + = "Iltimos, matn elementini kiriting. \ n";}
- Agar matn maydonidagi ma'lumot turini tasdiqlashni istasangiz, siz biroz meraklısı qabul qilishingiz kerak. Skriptning bu qismida matnda raqamli bo'lmagan belgilar mavjudmi yoki yo'qligini ko'rish uchun (o'zgaruvchining "raqamlari" izlayotgan narsani aniqlaydi).
raqam = "0123456789";
agar (theForm.number.value == "")
{
xato + = "Iltimos, raqamni kiriting. \ n";
}
uchun (var i = 0; i
{
temp = theForm.number.value.substring (i, i + 1)
agar (digits.indexOf (temp) == -1 && theForm.number.value = "")
{
error + = "Raqamli matn raqam bo'lishi kerak. \ n";
tanaffus;
}}
E-pochta manzilini JavaScript bilan tekshiring
- Skriptning bu qismi elektron pochta manzilini qanday tekshirish mumkinligini ko'rsatadi. Bu juda oddiy tekshiruvdir, faqatgina @ belgisi va davr mavjudligini tekshiradi. Odamlar hali ham soxta e-pochtalarga murojaat qilishlari mumkin, ammo bu noto'g'ri yozuvlarni bir oz kamaytirishga yordam beradi.
agar (theForm.email.value == "")
{
error + = "Javob uchun aniq elektron pochta manzilini kiritishingiz kerak. \ n";
}
agar ((form.email.value.indexOf ('@', 0) == -1 ||
theForm.email.value.indexOf ('.', 0) == -1) && theForm.email.value = "")
{
error + = "E-pochta manzilingiz haqiqiyligini tekshiring.";
}
- Bu yozuvning go'shti. Ikkita narsa bor: birinchisi, xato aniqlanganligini tekshiradi. Agar mavjud bo'lsa, uni ogohlantirish xati sifatida ko'rsatadi. Shundan so'ng, ariza ma'lumotlari serverga yuborilmasligi uchun noto'g'ri qiymatni qaytaradi. Sizning xato xabarlaringiz (agar yuqoridagi if statementsida o'rnatilgandir), ularning hammasi satr oxirida "\ n" ni o'z ichiga oladi. Bu brauzerni chiziq oxirida satrni qaytarish (yoki "kiritish" yoki "yangi satr") kiritishini bildiradi. Keyin, agar bir necha xato xabarlari bo'lsa, ular alohida satrlarda bo'ladi. Hech qanday xato xabarlari aniqlanmagan bo'lsa, xato o'zgaruvchisi bo'sh bo'ladi (biz uni skriptning yuqori qismida o'rnatgan joydan) va shuning uchun ariza ma'lumotlari CGI tomonidan bajarilishi uchun serverga yuboriladi.
agar (xato! = "")
{
ogohlantirish (xato);
orqaga qaytish (noto'g'ri);
} Boshqa {
qaytish (haqiqiy);
} - Skriptingizni yopishni unutmang.
}
// -> skript>
So'ngra, skriptni chaqirish uchun forsubmit elementini forma yorlig'iga qo'ying:
Formalarni tasdiqlash uchun CGI
Ushbu Perl skriptlari CGI parchasi JavaScript bilan bir xil ishlaydi. Kerakli joylar bor yoki yo'qligini tekshiradi va agar bo'lmasa, xato xabari ekranga o'zgaruvchiga saqlaydi:
#! / Ushr / mahalliy / ming / perl
$ error = "";
agar ($ dagi 'dd'} eq "")
{
$ error + = "
Iltimos, pastga tushadigan papkadan tanlang.
";
}
agar ($ {{lenk}} so'zlarida "eq" "")
{
$ error + = "
Iltimos, matn maydoniga ba'zi so'zlarni kiriting.
";
}
# ... barcha maydonlarni tasdiqlashni davom ettirish
agar ($ error)
chop etish "Kontent-turi: matn / html \ n \ n";
bosib chiqarish "
chop eting " head> gt;
" xato ro'y berdi h2>";
print $ error;
"Iltimos, orqaga qayting va bu xatolarni tuzating".
bosib " body> html>";
} Boshqa {
# CGI bilan davom eting ...
}
CGI xato xabari qanday yozganligi bilan farq "\ n" o'rniga HTML xatboshi yorlig'ini har bir xato o'rtasida yangi qatorni qo'yish uchun ishlatadi.
Va endi sizning shaklingizni tasdiqladingiz
Ikki usul, CGI va JavaScript yordamida sizga yuborilgan qismlarning ko'pi to'g'ri bo'lishi uchun siz HTML formatini tasdiqladingiz.