Bir HTML formanı yaratdığınız və işlədildikdən sonra, bütün vacib sahələrin doldurulduğundan əmin olmaq istərsiniz. Məsələn, e-poçt təsdiq məktubu göndərmək niyyətindəsinizsə, e-poçt ünvanı forma sahələrinə daxil edilməlidir və işə yarayan bir e-poçt ünvanı olmalıdır.
Formlarınızı təsdiqləmək üçün iki yol var:
- JavaScript istifadə
- Bir CGI skript istifadə
Formaları Təsdiqləmək üçün JavaScript istifadə edərək, Pros
- Javascript istifadə edərək, heç bir server prosessor vaxt istifadə etməyin. Bütün emal müştəri kompüterində aparılır.
- Tez-tez CGI doğrulamasından daha sürətli işləyir.
- Forma səhifəsi dəyişməmiş olduğundan, oxucunun səhvləri düzəltməsi asan olar.
Formaları Təsdiq etmək üçün JavaScript-ni istifadə etməmələri
- JavaScript yalnız effektiv olan brauzerlərdə işləyir. JavaScript kapalıysa, hata yoxlanılmayacaq.
Formaları Təsdiqləmək üçün CGI-dan istifadə etmənin Prosesi
- Doğrulama üçün CGI istifadə edərək, forma təqdim olunduğundan əmin olmağı təmin edəcəkdir.
Formaları Təsdiqləmək üçün CGI-ni istifadə etməmələri
- CGI Web server üzərində daha çox yük qoyur və CGI-də daxil edilmiş hər bir funksiya server üçün daha bir vəzifədir.
- CGI işləmək üçün yavaş ola bilər.
- Bir səhv varsa müştərinin ya formanın ilk səhifəsinə geri dönməsi və ya CGI formasını yenidən yazmaq üçün başqa funksiyaya ehtiyacı var.
Bunu idarə etmə üsulu, səhvlərin əksəriyyətinin JavaScript ilə yoxlanılmasını təmin etməkdir. Beləliklə, oxucular üçün sürətli və asan.
Sonra mən CGI ilə formanın həyati elementlərini yenidən nəzərdən keçirirəm.
HTML formalarını doğrulamak üçün JavaScript istifadə etmək
Forma doğrulaması yaratmaq üçün əsas əsas tələb olunan form elementlərinin adlarını axtarmaq və boş olduqda bir səhv mesajı göstərməkdir.
Çox səhv yoxlama proqramları hər bir sahədə bir dəfə yoxlanılır və bir anda bir səhv göstərilir.
Bu, zəhmli formanın doldurulmasını təmin edə bilər və insanlar ortada dayandıra bilərlər. Aşağıdakı skript və Perl mənbəyini istifadə edərsəniz, oxucunun daha sonra geri qayıtmaq və düzəldə biləcəyi bir sıra səhv mesajlarını göstərərək, bütün formu necə bir anda doğrulayacağını biləcəksiniz.
Bir Forma Təsdiq üçün JavaScript
HTML'inizin baş hissəsində forma doğrulamasını etmək üçün bir skript yaratmalısınız:
- Ssenariyi qurun və JavaScript işləməyən brauzerlərdən gizli olduğundan əmin olun.
- Bu, doğrulama başlayan funksiya çağırışıdır. Ssenarinizin üstündəki dəyişənlərinizi təyin etmək yaxşı bir formadır.
funksiya Validator (forForm)
{var error = ""; - Formalarınızdakı açılır elementləriniz varsa, ilk seçiminizi boş bir sahə daxil etməlisiniz (məsələn,
bir birini seçin option>) Siz sahəsində istədiyiniz hər hansı bir mətni əlavə edə bilərsiniz dəyəri boş olduğu müddətcə. Bundan sonra, ona qarşı qüvvədə olduğunuzda, ilk seçim (boş bir) hələ də olub-olmadığını yoxlayın, əgər varsa, səhv mesajını yaz. əgər (theForm.dd.options [0] .selected == true)
{
səhv + = "Xahiş edirik açılır siyahıdan seçin. \ n";} - Mətn elementləri doğrulamak üçün asandır. Qiymətin boş olub olmadığını yoxlayın. Əgər varsa, səhv mesajını təyin edin. əgər (theForm.words.value == "")
{
səhv + = "Mətn elementini doldurun. \ n";}
- Bir mətn sahəsindəki məlumatların tipini doğrulamak istəsəniz, bir az meraklısı almaq lazımdır. Ssenarinin bu parçası mətn qutusuna qeyri-ədədi olmayan xarakterli olub olmadığını görmək üçün baxır (dəyişən "rəqəm" aradığını müəyyənləşdirir).
var digits = "0123456789";
əgər (form.number.value == "")
{
səhv + = "Xahiş edirik bir nömrə doldurun. \ n";
}
for (var i = 0; i
{
temp = theForm.number.value.substring (i, i + 1)
əgər (digit.indexOf (temp) == -1 && theForm.number.value = "")
{
səhv + = "Sayısal mətn bir sıra olmalıdır. \ n";
fasilə;
}}
E-poçt ünvanını JavaScript ilə doğrulayın
- Ssenariyin bu hissəsi bir e-poçt ünvanını necə doğrulayacağını göstərir. Çox sadə bir doğrulamadır, yalnız bir @ -sign və bir dövr olduğundan əmin olmaq üçün yoxlayır. İnsanlar hələ də saxta e-poçt ünvanlarına yerləşdirə bilər, ancaq bu yanlış girişləri bir az azaltmağa kömək edir.
əgər (theForm.email.value == "")
{
səhv + = "Cavab üçün düzgün bir e-poçt ünvanı daxil etməlisiniz. \ n";
}
əgər ((form.email.value.indexOf ('@', 0) == -1 ||
theForm.email.value.indexOf ('.', 0) == -1) və & theForm.email.value! = "")
{
səhv + = "E-poçt ünvanınızın doğruluğunu təsdiq edin.";
}
- Bu scriptin ətidir. İki şey var: Birincisi, müəyyən bir səhv olub olmadığını yoxlayır. Əgər varsa, bu xəbərdarlıq mesajı kimi göstərilir. Sonra, forma məlumatlarının serverə göndərilmədiyi üçün saxta qaytarma dəyərini göndərir. Hata mesajlarınız (yuxarıda göstərilən if göstəricilərinə uyğun olaraq), xəttin sonunda "\ n" daxildir. Bu, brauzerin satırın sonunda bir satırbaşı (və ya "daxil" və ya "yeni xətt") əlavə etməsini bildirir. Sonra bir neçə səhv mesajı varsa, hamısı ayrı-ayrı xəttlərdə olacaqdır. Heç bir səhv mesajı yoxdursa, səhv dəyişən boş olacaq (scriptin üstündə qoyduğumuz yerdən) və beləliklə, forma məlumatları CGI tərəfindən hərəkət ediləcək serverə göndəriləcək.
əgər (səhv! = "")
{
xəbərdarlıq (səhv);
qaytarılması (yanlış);
} başqa {
qaytarılması (doğru);
} - Ssenarinizi bağlamağı unutmayın.
}
// -> skript>
Sonra, skriptə zəng etmək üçün forsubmit elementini forma etiketinə qoyun:
Validating Formlar üçün CGI
Bu Perl skript CGI parçası JavaScript ilə eyni şeyi edir. Lazım olan sahələrin olub olmadığını yoxlayır və əgər olmasa, bir səhv mesajını ekran üçün bir dəyişənə saxlayır:
#! / usr / local / bin / perl
$ error = "";
əgər ($ 'dd'} eq '' '
{
$ error + = "
Xahiş edirik açılan qutudan seçin.
";
}
əgər ($ {'sözlər'} eq "")
{
$ error + = "
Xahiş edirik mətn qutusuna bəzi sözlər əlavə edin.
";
}
# ... bütün sahələri təsdiqləməyə davam edin
əgər ($ səhv)
çap "İçerik növü: mətn / html \ n";
print "
print " head>
print " Bir səhv baş verdi h2>";
print $ səhv;
"Xahiş edirik geri qayıdın və bu səhvləri düzəltiniz.";
print " body> html>";
} başqa {
# CGI ilə davam edin ...
}
CGI'nin səhv mesajını necə yazdığına dair fərq, "\ n" yerinə deyil, hər bir səhv arasında yeni bir xətt qoymaq üçün HTML paraqraf etiketini istifadə edir.
İndi Formunuzu təsdiqlədiniz
CGI və JavaScript üsullarından istifadə edərək, sizə göndərilən hissələrin daha çoxunu dəqiqləşdirmək üçün bir HTML formasını təsdiq etdik.