Импресионирајте своје веб посетиоце провером образаца у реалном времену

Онлине формулар

Први утисак који обично имате као корисник веб апликације је када попуните веб образац. Запањен сам бројем веб образаца који немају ваљаност или који чекају да предате садржај обрасца пре него што вам кажу који проблеми бисте могли да имате.

Моје основно правило је да је подржано све што није потврђено. Све што може бити потврђено пре подношења обрасца мора бити. Појавом Ајака чак можете да потврдите податке према својој бази података пре слања. Не бирајте лењу руту - корисници цене помоћ!

Ево неких примера:

  1. Емаил адресе - Не сметају ми обрасци због којих два пута попуњавате своју адресу е-поште да бисте их потврдили, али чињеница да вам не кажу да ли се подударају или су одговарајуће конструисани је неопростива.
  2. Лозинке - Ако ћете ме натерати да двапут укуцам лозинку, потврдите да су вредности исте пре објављивања обрасца.
  3. јачина лозинке - Ако вам је потребна одређена јачина лозинке (комбинација алфанумеричких знакова или великих слова), пошаљите ми повратне информације док уносим лозинку. Не чекајте да је пошаљем пре него што ми кажете да није успела.
  4. Датуми - Ако желите датум у формату ам / д / ииии, дозволите ми да унесем информације у једно поље тако што ћете откуцати те вредности и одговарајуће их форматирати. Ако желите водеће нуле, ставите их после. У реду је приказати један формат, а други сачувати у својој бази података.
  5. Данашњи датум - Попуни ми! Зашто тражите да упишем датум кад то већ знате ?!
  6. Формат датума - Ако имате међународну пријаву, можете задати формат датума на основу интернационализације ваше пријаве. Наравно, добро је имати опцију за кориснике да је замени и одабере своју.
  7. Бројеви социјалног осигурања - прилично је једноставно додати неки јавасцрипт који аутоматски прескаче из поља у поље или програмски ставља цртицу између вредности.
  8. Бројеви телефона - узимајући у обзир интернационализацију, ове врсте поља се такође могу поједноставити форматирањем телефонског броја у интерфејсу, али чувањем у другом формату који је ефикасан за вашу позадину. Немојте да ваши корисници уписују заграде, размаке и цртице.
  9. Максимална дужина текста - ако ограничите број знакова који се чувају у вашој бази података, НЕ дозвољавајте ми да унесем толико знакова! Не захтева чак ни тешко валидирање ... то је само подешавање у оквиру за текст.
  10. Минимална дужина текста - ако вам је потребна минимална дужина текста, оглашавајте аларм док не добијем довољно знакова.

Ево примера функције Снага лозинке из Геек Висдом:

Унесите лозинку:

АЖУРИРАЊЕ: 10 - Пронашао сам уредан ресурс са ЈаваСцрипт библиотеком која је доступна за преузимање валидација обрасца, која се назива ЛивеВалидатион.

Komentari

  1. 1

    Слажем се да су то одличне карактеристике за обрасце, али рећи да је „неопростиво“ не извршити провјеру предње јавасцрипт валидације више је лично мишљење. Волим да радим у јавасцрипт-у и написао сам неке прилично згодне маске за уређивање да бих урадио неке од ствари о којима причате, али многе од њих су далеко од тривијалних, а многи од пакета за валидацију јавасцрипт форме имају велики број великих рупа. Неће сви уложити време у дуплирање своје позадинске валидације са (чешће него не) сложенијом предњом јавасцрипт валидацијом.

    Добре тачке, али по мом мишљењу дефинитивно није нешто што сваки онлајн образац „треба“.

  2. 2

    Провера лозинке је релативно покварена. Свака лозинка је довољно добра ако је дуга.

    primer:

    Да ли је ово заиста осредња лозинка?

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

  3. 4

    За мене је најбоља валидација облика када кориснику дате утисак валидације на страни клијента док је то валидација АЈАКС/серверске стране.
    Једноставно морате да приложите елементима вашег обрасца неко руковање догађајима (прекидање, замућење, клик, итд.) који објављују цео образац преко АЈАКС-а на сервер, позивајући функцију „провери“ која враћа одговарајуће поруке о грешци (овај пасоврд је превише једноставно, тај датум је у погрешном формату, итд...)
    Када корисник коначно објави образац кликом на дугме за слање, још увек можете да користите функцију „провери“ на страни сервера да бисте последњи пут потврдили образац пре него што убаците податке у базу података или неки други процес.
    На овај начин, корисници су задовољни онтхего валидацијом А програмери су задовољни развојем валидације само на страни сервера.

    • 5
      • 6

        Не тако брзо Доуг – слажем се са вашом првобитном претпоставком да су ове корисне функције, као што је форматирање ССН-а у ходу, тривијалне. И лењо је само објавити поруку која је погрешна, када можете да је поправите без потребе да погађате формат.

        Међутим, такође се слажем са Ницоласом о коришћењу логике на страни сервера у комбинацији са АЈАКС-ом.

  4. 7

    Ваш наслов каже „Импресионирајте своје пријатеље...“, али нисте успели да ме импресионирате са ова 2 минута, телефоном у поруци.

    Препишите свој наслов (превише обмањујући, чини да неко помисли да се расправља о примерима и пракси).

    Ако људи то не раде већ у својим облицима, онда само уче или форма није довољно важна да би користила валидацију.

    Прави веб програмери то већ знају и раде.

    • 8

      Џеј,

      Извините због тога! Моја поента дефинитивно није била да пружим повратне информације програмерима – заиста сам долазио из угла менаџера производа. Слажем се са вама – али занимљиво је да се неки други програмери не слажу! Мислим да је то несрећно.

      Хвала што сте одвојили време!
      Даг

  5. 9

    Потпуно се слажем да је валидација неопходна компонента сваке апликације. Као вођа тима, обично се нађем да шаљем код назад да буде „завршен“ из разлога као што су недостајуће валидације или ограничавање дужине уноса текста.

    За већину ствари на којима радим сматрам да је потребно око 50% времена да нешто проради, под нормалним условима и ако корисници користе систем на начин на који сам намеравао. Осталих 50% времена развоја долази од провере њиховог уноса, обезбеђивања интегритета података и спречавања уношења злонамерних података у поља обрасца.

    Написао сам пост о томе како користим ИнпутВерификаторе у својим хава свинг апликацијама и показао како верификујем поље за текст е-поште. Регуларни израз који користим се лако може променити да потврди телефонске бројеве, поштанске бројеве, ССН, итд.

    Мој блог пост је на http://timarcher.com/?q=node/36

    Добар запис Доуг!

  6. 10
  7. 11

    Слажем се да валидација клијената може бити веома лака функција. Међутим, важније је осигурати да саме валидације заиста имају смисла.

    Дали сте сјајан пример како валидација може да обмане кориснике и, што је још горе, да их отера са наше веб локације:

    Провера јачине лозинке Геек Висдом-а од разматра тЗхКвнУмИсс да буде слаба лозинка. Не само да је ово савршено јака лозинка, већ ће и отуђити кориснике јер им даје лажни утисак да ће пријављивање на вашу веб локацију помоћу ове лозинке бити некако несигурно.

    Било би много боље (и лакше) једноставно наговестити корисницима да је добра лозинка дуга најмање шест знакова и да треба да садржи и бројеве и слова.

    Остале упитне провере ваљаности укључују корисничка имена која захтевају одређену минималну дужину или не морају да садрже размаке. Шта није у реду са корисничким именима X, Н.Н. лице, или чак #*!§? Могу то да поднесем.

  8. 12
  9. 13
  10. 14
  11. 15

    Мало ми је забавно што објављујете о доброти пружања валидације обрасца у реалном времену, а ипак, ваш образац за коментаре на дну поста не пружа ништа од овога...

    Схватам да користите ВордПресс да бисте блоговали своје мисли на интернету, али можда и није тако лоша идеја да будете сигурни да практикујете оно што проповедате. 🙂

    Успут, добар пост, чак и ако се не слажем нужно са свиме што сте написали.

Шта ви мислите?

Ова страница користи Акисмет како би смањила нежељену пошту. Сазнајте како се ваш коментар обрађује.