Diajar Kumaha mun sangkan méré konfirmasi Bentuk jeung JavaScript atawa CGI

Sakali anjeun gaduh hiji formulir HTML up na ngajalankeun, anjeun mindeng bakal hoyong pastikeun yén sagala widang anu penting anu kaeusi dina. Contona, lamun bade ngirim hiji hurup konfirmasi surélék, alamat surélék kudu kaasup dina widang formulir , sarta kudu alamat surélék anu hade.

Aya dua cara pikeun sangkan méré konfirmasi bentuk anjeun:

  1. ngagunakeun JavaScript
  2. Maké Aksara CGI

The Naros ngeunaan Make JavaScript pikeun Validating Bentuk

The Kontra of Maké JavaScript pikeun Validating Bentuk

The Naros ngeunaan Make CGI pikeun Validating Bentuk

The Kontra of Maké CGI pikeun Validating Bentuk

Cara abdi ngadamel ieu boga mayoritas kasalahan mariksa dipigawé ku JavaScript. Cara anu, éta téh saum sareng gampang pikeun pamiarsa.

Kuring teras parios deui unsur penting dina formulir kalawan CGI nu.

Kumaha Paké JavaScript ka sangkan méré konfirmasi Bentuk HTML

Premis dasar nyieun formulir validasi geus néangan ngaran elemen formulir nu diperlukeun, sarta lamun maranehna kosong, nembongkeun hiji pesen kasalahan.

Paling program kasalahan mariksa pariksa unggal widang salah dina hiji waktu, sarta nembongkeun hiji kasalahan dina hiji waktu.

Ieu bisa nyieun ngeusian formulir tedious, sarta jalma bisa eureun di tengahna. Lamun nganggo Aksara handap tur sumber Perl anjeun bakal nyaho kumaha carana sangkan méré konfirmasi hiji sakabéh formulir sakaligus, mintonkeun runtuyan seratan kasalahan nu maca anjeun lajeng bisa balik sarta ngalereskeun.

The JavaScript pikeun Validating Bentuk a

Dina bagian sirah tina HTML, anjeun kedah nyieun hiji Aksara ngalakonan formulir validasi:

  1. Nyetél naskah, sarta pastikeun yén ayeuna teh disumputkeun ti panyungsi nu teu tiasa ngadamel JavaScript. <-! // malire lamun non JS-browser
  2. Ieu fungsi panggero anu dimimitian validasi nu. Ieu formulir alus pikeun ngeset variabel Anjeun di luhureun Aksara Anjeun.
    fungsi Validator (theForm)
    {Kasalahan var = "";
  3. Upami Anjeun gaduh elemen turun-handap dina bentuk, anjeun kedah ngawengku pilihan kahiji sakumaha médan kosong (misalna milih hiji ) Anjeun tiasa ngawengku téks wae maneh hoyong on sawah, sakumaha salami nilai nu geus kosong. Lajeng, nalika anjeun sangkan méré konfirmasi ngalawan eta, kantun neuteup ka tingali lamun pilihan kahiji (hiji kosong) anu masih diatur, lamun éta, nulis surat kasalahan. lamun (theForm.dd.options [0] .selected == leres)
    {
    kasalahan + = "Mangga pilih tina daptar turun-handap \ n".;}
  4. elemen téks anu panggampangna pikeun sangkan méré konfirmasi. Kantun pariksa ningali lamun nilai nu geus kosong. Lamun, pakakas pesen kasalahan. lamun (theForm.words.value == "")
    {
    kasalahan + = "Mangga eusian unsur téks \ n".;}
  1. Lamun hayang sangkan méré konfirmasi tipe data dina hiji widang teks, Anjeun kudu meunang bit fancier. snippet Ieu naskah Sigana dina kotak téks ningali lamun eta boga karakter non-numeris dina eta (variabel "digit" ngahartikeun naon eta anu pilari).

    var digit = "0123456789";
    lamun (theForm.number.value == "")
    {
    kasalahan + = "Mangga eusian angka a \ n".;
    }
    pikeun (var i = 0; i
    {
    temp = theForm.number.value.substring (i, i + 1)
    lamun (digits.indexOf (temp) == -1 && theForm.number.value! = "")
    {
    kasalahan + = "The téks numeris kudu jadi nomer hiji \ n".;
    megatkeun;
    }}

Sangkan méré konfirmasi alamat surélék kalawan JavaScript

  1. bagian ieu naskah nembongkeun kumaha carana sangkan méré konfirmasi pikeun alamat surélék. Ieu mangrupakeun validasi pisan basajan, éta ukur cek pikeun mastikeun yén aya hiji -sign @ na jaman a. Jalma masih bisa nempatkeun dina alamat surélék palsu, tapi ieu mantuan ngurangan eusi salah saeutik.
    lamun (theForm.email.value == "")
    {
    kasalahan + = "Anjeun kudu ngawengku alamat surélék akurat pikeun respon a \ n".;
    }
    lamun ((theForm.email.value.indexOf ( '@', 0) == -1 ||
    theForm.email.value.indexOf ( '.', 0) == -1) && theForm.email.value! = "")
    {
    kasalahan + = "Mangga pariksa yen alamat surélék anjeun sah.";
    }
  1. Ieu daging naskah. Hancana dua hal: kahiji, éta cek ningali lamun aya hiji set kasalahan. Mun aya, éta mintonkeun salaku hiji pesen waspada. Mangka ngirimkeun nilai balikna palsu supados informasi formulir teu dikirim ka server. seratan kasalahan anjeun (disetél di luhur lamun pernyataan), kabeh kaasup hiji "\ n" di ahir jalur. Ieu ngabejaan browser nyelapkeun enter (atawa "asupkeun" atawa "garis anyar") dina tungtung garis nu. Lajeng, upami aya sababaraha seratan kasalahan aranjeunna sadayana bakal di garis misah. Mun aya euweuh seratan kasalahan nangtukeun, mangka variabel kasalahan bakal kosong (ti mana kami disetél deui dina luhureun naskah), sarta ku kituna informasi formulir bakal dikirim ka server bisa acted kana ku CGI nu.
    lamun (kasalahan! = "")
    {
    ngageter (kasalahan);
    balik (palsu);
    } Sejenna {
    balik (leres);
    }
  2. Ulah hilap ka tutup Aksara Anjeun.
    }
    // ->

Lajeng, ka nelepon naskah, nempatkeun unsur onsubmit di tag formulir:

CGI pikeun Validating Bentuk

Perl Aksara CGI snippet Ieu teu hal anu sarua salaku JavaScript. Eta cek ningali lamun huma nu diperlukeun aya, sarta lamun henteu, ngaheéat hiji pesen kasalahan kana variabel pikeun tampilan:

#! / usr / lokal / bin / perl
$ kasalahan = "";
lamun ($ di { 'DD'} EQ "")
{
$ kasalahan + = "
Mangga pilih tina serelek handap kotak.
";
}
lamun ($ di { 'kecap'} EQ "")
{
$ kasalahan + = "
Mangga ngawengku sababaraha kecap dina kotak téks.
";
}
# ... teruskeun validating sagala widang
lamun ($ kasalahan)
print "Kandungan-tipe: téks / html \ n \ n";
print " Kasalahan ";
print "
print "

Hiji Kasalahan geus lumangsung ";
print $ kasalahan;
nyitak "Mangga balik sarta ngabenerkeun kasalahan ieu.";
print " ";
} Sejenna {
# Buka on kalawan CGI nu ...
}

Beda jeung cara CGI nu nyerat pesen kasalahan téh éta gaganti a "\ n", eta ngagunakeun HTML tag ayat nempatkeun hiji garis anyar di antara tiap kasalahan.

Jeung Ayeuna Anjeun geus disahkeun Bentuk anjeun

Jeung dua métode, CGI na JavaScript, anjeun geus disahkeun hiji formulir HTML supados langkung sahiji bagéan nu dikirim ka anjeun akurat.