Уражце сваіх наведвальнікаў сеткай праверкай формы ў рэжыме рэальнага часу

онлайн-форму

Першае ўражанне, якое звычайна ўзнікае ў вас у карыстальніка вэб-прыкладання, гэта пры запаўненні вэб-формы. Я здзіўлены колькасцю вэб-формаў, якія маюць нулявую праверку альбо якія чакаюць, пакуль вы адправіце змесціва, перш чым паведаміць, якія праблемы могуць узнікнуць.

Маё прынцыповае правіла заключаецца ў тым, што ўсё, што не праверана, падтрымліваецца. Усё, што можна праверыць да падачы формы, павінна быць. З з'яўленнем Ajax вы нават можаце праверыць дадзеныя ў вашай базе дадзеных перад адпраўкай. Не выбірайце лянівы маршрут - карыстальнікі цэняць дапамогу!

Вось некалькі прыкладаў:

  1. Адрасы электроннай пошты - Я не супраць формаў, якія прымушаюць вас два разы запоўніць свой адрас электроннай пошты, каб пацвердзіць іх, але той факт, што яны не паведамляюць вам, адпавядаюць яны альбо пабудаваны належным чынам, недаравальна.
  2. паролі - Калі вы збіраецеся прымусіць мяне ўвесці пароль двойчы, перад публікацыяй формы праверце, што значэнні аднолькавыя.
  3. Трываласць пароля - Калі вам патрэбна пэўная надзейнасць пароля (спалучэнне літарна-лічбавых знакаў ці рэгістраў), дайце мне водгук, пакуль я ўводжу свой пароль. Не чакайце, пакуль я адпраўлю, перш чым паведамляць мне пра яго няўдачу.
  4. Даты - Калі вы хочаце дату ў фармаце am / d / yyyy, дазвольце мне ўвесці інфармацыю ў адно поле, увёўшы гэтыя значэнні і адфарматаваўшы іх адпаведна. Калі вы хочаце весці нулі, пастаўце іх пасля. Нядрэнна адлюстраваць адзін фармат, а другі захаваць у базе дадзеных.
  5. Сённяшняя дата - Запоўні мне! Чаму вы просіце мяне ўвесці дату, калі вы гэта ўжо ведаеце ?!
  6. фармат даты - Калі ў вас ёсць міжнародная заяўка, вы можаце задаць фармат даты па змаўчанні на аснове інтэрнацыяналізацыі вашай заяўкі. Зразумела, добра мець магчымасць, каб карыстальнікі перавызначылі гэтую опцыю і выбралі сваю.
  7. Нумары сацыяльнага страхавання - даволі проста дадаць JavaScript, які аўтаматычна пераходзіць з поля ў поле альбо праграмна ставіць працяжнік паміж значэннямі.
  8. тэлефонныя нумары - улічваючы інтэрнацыяналізацыю, гэтыя тыпы палёў таксама можна спрасціць, адфарматаваўшы нумар тэлефона ў інтэрфейсе, але захаваўшы яго ў іншым фармаце, эфектыўным для вашага бэк-энда. Не прымушайце карыстальнікаў уводзіць дужкі, прабелы і рыскі.
  9. Максімальная даўжыня тэксту - калі вы абмяжоўваеце колькасць знакаў, якія захоўваюцца ў вашай базе дадзеных, НЕ дазваляйце мне ўводзіць столькі знакаў! Гэта нават не патрабуе складанай праверкі ... гэта проста налада ў тэкставым полі.
  10. Мінімальная даўжыня тэксту - калі вам патрэбна мінімальная даўжыня тэксту, будзьце сігнал трывогі, пакуль у мяне не стане дастаткова сімвалаў

Вось прыклад функцыі надзейнасці пароля ад Мудрасць мудрагелістая:

Увядзіце пароль:

АБНАЎЛЕННЕ: 10 - Я знайшоў акуратны рэсурс з бібліятэкай JavaScript, даступнай для загрузкі праверка формы, якая называецца LiveValidation.

16 Каментары

  1. 1

    Я згодны, што гэта цудоўныя магчымасці для формаў, але казаць, што невыбачальна не выконваць праверку інтэрфейсу Javascript, хутчэй асабістае меркаванне. Я люблю працаваць у javascript, і я напісаў даволі акуратныя маскі для рэдагавання некаторых рэчаў, пра якія вы кажаце, але многія з іх далёка не банальныя, і ў многіх пакетах праверкі формы javascript ёсць мноства вялікіх дзірак. Не ўсе будуць марнаваць час на дубліраванне іх праверкі з канчатковай версіі з (часцей за ўсё) больш складанай праверкай Javascript у інтэрфейсе.

    Добрыя моманты, але, на мой погляд, дакладна не ўсё, што "патрэбна" кожнай інтэрнэт-форме.

  2. 2

    Праверка пароля адносна зламаная. Любы пароль дастаткова добры, калі ён доўгі.

    прыклад:

    Гэта сапраўды пасрэдны пароль?

    f46dffe6ff4ffgdfgfjfgyu656hfdt74tyhdtu5674yfgh6uhhye45herdhrt64684hythdfth54y54348fgdcvzse8cn984v3p4m6vq98476m3wuw89ewfucsd8fg67s4v8tw76u340m6tver7nt+s89346vs+0em9u+s+09hrtuhss586ysvne4896vb4865tbv089rt++

  3. 4

    Для мяне лепшая праверка формы - гэта калі вы ствараеце ў карыстальніка ўражанне на баку кліента, у той час як гэта праверка AJAX / сервера.
    Вам проста трэба далучыць да элементаў формы некаторыя апрацоўкі падзей (клавіятура, размыццё, пстрычка і г.д. ...), якія высылаюць усю форму праз AJAX на сервер, выклікаючы функцыю "праверка", якая вяртае адпаведныя паведамленні пра памылкі (гэты пароль таксама проста, што дата ў няправільным фармаце і г.д. ...)
    Калі карыстальнік, нарэшце, апублікуе форму, націснуўшы кнопку "Адправіць", вы ўсё яшчэ можаце выкарыстоўваць функцыю "праверыць" на баку сервера, каб праверыць форму ў апошні раз перад устаўкай дадзеных у базу дадзеных альбо якім-небудзь іншым працэсам.
    Такім чынам, карыстальнікі задаволены бягучай праверкай, А распрацоўшчыкі задаволены распрацоўкай праверкі толькі на баку сервера.

    • 5
      • 6

        Не так хутка Дуг - я згодны з вашай першапачатковай перадумовай, што гэтыя карысныя функцыі, такія як фарматаванне SSN на лета, з'яўляюцца трывіяльнымі. І лянота проста адправіць паведамленне, што гэта няправільна, калі вы можаце выправіць гэта, не адгадваючы фармат.

        Аднак я таксама згодны з Нікаласам наконт выкарыстання логікі на баку сервера ў спалучэнні з AJAX.

  4. 7

    У вашым загалоўку напісана "Уражце сваіх сяброў ...", але вы не ўразілі мяне гэтымі 2 хвілінамі, патэлефанавалі ў пост.

    Перапішыце загаловак (занадта ўводзіць у зман, прымушае думаць, што ёсць прыклады і практыка, якія абмяркоўваюцца).

    Калі людзі робяць гэта ўжо не ў сваіх формах, то яны проста вучацца альбо форма недастаткова важная для выкарыстання праверкі.

    Сапраўдныя вэб-праграмісты гэта ўжо ведаюць і робяць.

    • 8

      Джэй,

      Прабачце за гэта! Маё меркаванне было дакладна не даць зваротную сувязь з распрацоўшчыкамі - я сапраўды прыходзіў з пункту гледжання менеджэра па прадуктах. Я з вамі згодны - але цікава, што некаторыя іншыя распрацоўшчыкі гэтага не робяць! Я думаю, што гэта шкада.

      Дзякуй, што знайшлі час!
      Doug

  5. 9

    Я цалкам згодны з тым, што праверка з'яўляецца неабходным кампанентам любой заяўкі. Як кіраўнік каманды, я звычайна лічу, што адпраўляю код назад, каб "скончыць" па такіх прычынах, як адсутнасць праверкі альбо абмежаванне даўжыні ўводу тэксту.

    Для большасці рэчаў, над якімі я працую, я лічу, што патрабуецца каля 50% часу, каб нешта зрабіць нармальным, і калі карыстальнікі выкарыстоўваюць сістэму так, як я задумаў. Астатнія 50% часу распрацоўкі прыпадае на праверку іх уводу, забеспячэнне захавання цэласнасці дадзеных і забарону палёў формы на ўвод шкоднасных дадзеных.

    Я напісаў паведамленне пра тое, як я выкарыстоўваю InputVerifiers у сваіх праграмах хава-свінг, і паказаў, як я правяраю тэкставае поле электроннай пошты. Рэгулярны выраз, які я выкарыстоўваю, лёгка мадыфікуецца для праверкі нумароў тэлефонаў, паштовых індэксаў, SSN і г.д.

    Мой запіс у блогу знаходзіцца на http://timarcher.com/?q=node/36

    Добры выпіс Даг!

  6. 10

    Я згодзен. Паролі сапраўды важныя, і іх трэба ўспрымаць сур'ёзна. Я думаю, што гэта нармальна, калі амаль усе формы ўводзяць пароль двойчы, але не паказваючы сапраўднасць двух пароляў паказвае, што гэта не разглядаецца ўсур'ёз.

  7. 11

    Я згодны з тым, што праверка кліента можа быць вельмі зручнай функцыяй. Аднак важней пераканацца, што самі праверкі сапраўды маюць сэнс.

    Вы далі выдатны прыклад таго, як праверка можа ўвесці карыстальнікаў у зман і, што яшчэ горш, адагнаць іх з нашага сайта:

    Праверка надзейнасці пароля Geek Wisdom ад лічыць tZhKwnUmIss быць слабым паролем. Гэта не толькі вельмі надзейны пароль, але і адчужае карыстальнікаў, бо стварае ў іх ілжывае ўражанне, што ўваход на ваш сайт з выкарыстаннем гэтага пароля будзе неяк небяспечным.

    Было б значна лепш (і прасцей) проста намякнуць карыстальнікам, што добры пароль даўжынёй не менш за шэсць сімвалаў і павінен утрымліваць як лічбы, так і літары.

    Іншыя сумніўныя праверкі ўключаюць імёны карыстальнікаў, якія маюць патрэбу ў пэўнай мінімальнай даўжыні альбо не могуць утрымліваць прабелы. Што не так з імёнамі карыстальнікаў X, Джон Лань, ці нават # *! §? Я магу з гэтым справіцца.

  8. 12

    Я з вамі згодны. Некаторыя формы выглядаюць выдатна, але гэта не дае добрай праверкі. Прыводзяцца асабістыя дадзеныя, і правільна іх успрымаць толькі так, як і любыя дзелавыя формы ў папяровым выглядзе.

  9. 13
  10. 14
  11. 15

    Мне падаецца крыху пацешным, што вы пішаце пра дабро праверкі формы праверкі ў рэжыме рэальнага часу, і ўсё ж у вашай форме каментарыя ў ніжняй частцы паведамлення няма нічога з гэтага ...

    Я разумею, што вы выкарыстоўваеце WordPress, каб весці свае думкі ў Інтэрнэце, але, магчыма, пераканацца, што вы практыкуеце тое, што прапаведуеце, таксама не такая дрэнная ідэя. 🙂

    Добры пост, дарэчы, нават калі я не абавязкова згодны з усім, што вы напісалі.

    • 16

      Дох! Ты мяне зламала, Аманда! Мне вельмі хацелася б, каб я паспеў зрабіць лепшую праверку формы і інтэграваць яе ў WordPress. Мне асабліва падабаецца Adobe Spry рамкі праверкі і хацеў бы бачыць, як хтосьці аб'ядноўвае два!

      Дзякуй! (І я заўсёды ўдзячны таму, што існуе некалькі меркаванняў па любой тэме).
      Doug

Што вы думаеце?

Гэты сайт выкарыстоўвае Akismet для барацьбы са спамам. Даведайцеся, як дадзеныя апрацоўваюцца каментар.