Калі ў вас ёсць HTML-форму і працуе, вы будзеце часта хочуць, каб пераканацца, што ўсе важныя палі запоўненыя. Напрыклад, калі вы збіраецеся адправіць ліст з пацвярджэннем па электроннай пошце, адрас электроннай пошты, павінны быць уключаны ў палі формы , і ён павінен быць адрас электроннай пошты, які працуе.
Ёсць два спосабу праверыць свае формы:
Плюсы ад выкарыстання JavaScript для праверкі формаў
- Выкарыстанне JavaScript вы не карыстаецеся якое-небудзь працэсарны час сервера. Уся апрацоўка выконваецца на кліенцкім кампутары.
- Часта здаецца, працуе хутчэй, чым праверка CGI.
- Паколькі старонка формы не змянілася, то лёгка для чытача, каб выправіць памылкі.
У мінусы Выкарыстанне JavaScript для праверкі формаў
- JavaScript працуе толькі ў браўзэрах, якія ён уключаны. Калі JavaScript адключаны, ваша праверка памылак не будзе зроблена.
Плюсы ад выкарыстання CGI для праверкі формаў
- Выкарыстанне CGI для праверкі гарантуе, што кожны раз, калі форма была адпраўлена, праверка будзе працаваць.
У мінусы Выкарыстанне CGI для праверкі формаў
- CGI ставіць вялікую нагрузку на вэб-сэрвэры, і кожная функцыя, якая ўключана ў CGI з'яўляецца яшчэ адной задачай для сервера.
- CGI можа быць павольным, каб працаваць.
- Калі ёсць памылка, кліент павінен альбо вярнуцца да першай старонцы формы або CGI патрэбен іншая функцыя, каб перапісаць старонку формы.
Як мне справіцца з гэтым, каб большасць праверкі памылак зроблена з дапамогай JavaScript. Такім чынам, гэта хутка і лёгка для чытачоў.
Я тады пераправерыць жыццёва важныя элементы формы з CGI.
каб Праверка HTML-формы Як выкарыстоўваць JavaScript
Асноўная перадумова стварэння формы праверкі з'яўляецца пошук імёнаў элементаў формы , якія неабходныя, і калі яны пустыя, адлюстроўвае паведамленне пра памылку.
Большасць праграм праверкі памылак праверыць кожнае поле па адным, і адлюстроўваць адну памылку ў той час.
Гэта можна зрабіць, запоўніўшы форму стомнай, і людзі могуць спыніцца ў сярэдзіне. Калі вы карыстаецеся наступны скрыпт і крыніца Perl вы будзеце ведаць, як праверыць усю форму адразу, адлюстроўваючы шэраг паведамленняў пра памылкі, якія чытач можа затым вярнуцца назад і выправіць.
JavaScript для праверкі дакладнасці формы
У галаўны часткі вашага HTML, вы павінны стварыць скрыпт, каб зрабіць форму праверкі:
- Настройка сцэнара, і пераканайцеся, што ён схаваны ад браўзэраў, якія не могуць апрацоўваць JavaScript. <Мова сцэнарыяў = "JavaScript"> , калі не-JS - браўзэр
- Гэта выклік функцыі, якая запускае праверку. Гэта добрая форма, каб усталяваць зменныя ў верхняй частцы вашага сцэнара.
Функцыя сродкі праверкі (theForm)
{Вар памылкі = ""; - Калі ў вас ёсць выпадаючыя элементы ў вашых формах, вы павінны ўключаць у сябе першы варыянт як пустое поле (напрыклад, <опцыя значэнне = "»> абярыце адзін варыянт>) Вы можаце ўключаць у сябе любы тэкст, які вы хацелі б на поле, як пакуль значэнне з'яўляецца пустым. Затым, калі вы правяраеце супраць яго, проста паглядзець, каб убачыць, калі першы варыянт (пусты адзін) яшчэ усталяваны, калі ён ёсць, напісаць паведамленне пра памылку. калі (theForm.dd.options [0] == .selected ісціны)
{
Памылка + = "Калі ласка , абярыце з выпадальнага спісу \ п.";} - Тэкставыя элементы з'яўляюцца самымі лёгкімі для праверкі. Проста праверце, калі значэнне пустое. Калі так, то ўсталяваць паведамленне пра памылку. калі (theForm.words.value == "")
{
памылка + = "Калі ласка , запоўніце тэкставы элемент \ п.";}
- Калі вы хочаце праверыць тып дадзеных у тэкставым полі, вы павінны атрымаць крыху фантазёр. Гэты фрагмент сцэнарыя выглядае ў тэкставым полі, каб убачыць, калі ён мае не-лічбавыя сімвалы ў ім (зменную «лічбу» вызначае тое, што ён шукае).
вар лічбы = "0123456789";
калі (theForm.number.value == "")
{
памылка + = "Калі ласка , увядзіце лік \ п.";
}
для (вар я = 0; я
{
Тэмп = theForm.number.value.substring (я, г + 1)
калі (digits.indexOf (тэмпература) == -1 && theForm.number.value! = "")
{
Памылка + = «Лікавай тэкст павінен быць лікам \ п.";
перапынак;
}}
Пацвердзіць адрас электроннай пошты з JavaScript
- Гэтая частка сцэнара паказвае, як праверыць на адрас электроннай пошты. Гэта вельмі простая праверка, ён толькі правярае, каб пераканацца, што ёсць @ -знак і перыяд. Людзі па-ранейшаму можна пакласці ў падробленыя адрасы электроннай пошты, але гэта дапамагае паменшыць няправільныя запісы няшмат.
калі (theForm.email.value == "")
{
Памылка + = "Вы павінны пазначыць дакладны адрас электроннай пошты для адказу \ п.";
}
калі ((theForm.email.value.indexOf ( '@', 0) == -1 ||
theForm.email.value.indexOf ( '', 0) == -1) && theForm.email.value! = "")
{
памылка + = "Калі ласка , пераканайцеся , што ваш адрас электроннай пошты з'яўляецца сапраўдным.";
}
- Гэта мяса сцэнара. Гэта робіць дзве рэчы: па-першае, яна правярае, ці ёсць мноства памылак. Калі ёсць, то ён адлюстроўвае яго растрывожаны паведамленне. Затым ён пасылае вяртаецца значэнне хлусня, так што інфармацыя форма не адпраўляецца на сервер. Вашы паведамленні пра памылкі (устаноўленыя ў прыведзеным вышэй, калі заявы), усе ўключаюць у сябе «\ п» у канцы радка. Гэта кажа браўзэру, каб ўставіць сімвал вяртання карэткі (ці «Enter» ці «новай лініі») у канцы радка. Затым, калі ёсць некалькі паведамленняў пра памылкі, усе яны будуць знаходзіцца на асобных радках. Калі няма ніякіх паведамленняў пра памылкі, устаноўленыя, то пераменная памылка будзе пустым (адкуль мы ўсталёўваем яго ў верхняй частцы сцэнарыя), і таму інфармацыя фармуляр будзе дасланы на сервер, каб быць ўздзейнічае на CGI.
калі (памылка! = "")
{
папярэджанне (памылка);
вяртаць (хлусня);
} Яшчэ {
вярнуцца (ісціна);
} - Не забудзьцеся зачыніць свой сцэнар.
}
// -> скрыпт>
Затым, каб выклікаць сцэнар, пакласці onsubmit элемент у выглядзе тэга:
<Форма дзеянне = "" метад = "пост" onsubmit = "вяртанне валідатары (гэта);">
CGI для праверкі формаў
Гэта Perl скрыпт CGI сниппет робіць тое ж самае, што і JavaScript. Ён правярае, ці ёсць неабходныя палі, а калі няма, захоўвае паведамленне пра памылку ў зменную для адлюстравання:
#! / USR / мясцовыя / бен / Perl
$ Памылка = "";
калі ($ ў { 'дд'} экв "")
{
$ Памылка + = "
Калі ласка , абярыце з выпадальнага спісу.
«;
}
калі ($ ў { 'словы'} ек "")
{
$ Памылка + = "
Калі ласка , уключыце некаторыя словы у тэкставым полі.
«;
}
# ... працягваць праверкі ўсіх палёў
калі ($ памылка)
друк "Content-тып: тэкст / html \ п \ п";
друк "
друк " галава> <цела & GT";
друк " Памылка h2>";
друк $ памылка;
друк «Калі ласка , вярніцеся назад і выправіць гэтыя памылкі.";
друк " body> html>";
} Яшчэ {
# Працягнеце з CGI ...
}
Розніца з тым, як CGI піша паведамленне пра памылку ў тым , што замест «\ п», ён выкарыстоўвае HTML тэг параграфа паставіць новы радок паміж кожнай памылкай.
І цяпер Вы пасведчанне вашу форму
З дапамогай двух метадаў, CGI і JavaScript, вы праверылі форму HTML, каб больш частак, якія адпраўляюцца да вас дакладна.