Zadivite svoje web posjetitelje provjerom obrazaca u stvarnom vremenu

online obrazac

Prvi dojam koji obično imate kao korisnik web-aplikacije jest kada ispunite web-obrazac. Zadivljen sam brojem web obrazaca koji nemaju valjanost ili koji čekaju da predate sadržaj obrasca prije nego što vam kažu koje biste probleme mogli imati.

Moje pravilo je da je podržano sve što nije provjereno. Sve što se može provjeriti prije predaje obrasca mora biti. Pojavom Ajaxa čak možete provjeriti podatke prema svojoj bazi podataka prije slanja. Ne birajte lijenu rutu - korisnici cijene pomoć!

Evo nekoliko primjera:

  1. E-mail adrese - Ne smetaju mi ​​obrasci koji vas natjeraju da dva puta popunite svoju adresu e-pošte da biste ih provjerili, ali činjenica da vam ne kažu odgovaraju li ili nisu odgovarajuća je neoprostiva.
  2. lozinke - Ako ćete me natjerati da dvaput upišem lozinku, prije objavljivanja obrasca potvrdite da su vrijednosti iste.
  3. Snaga lozinke - Ako vam je potrebna određena snaga lozinke (kombinacija alfanumeričkih znakova ili velikih slova), pružite mi povratne informacije dok unosim lozinku. Nemojte čekati da pošaljem prije nego što mi kažete da nije uspjela.
  4. Termini - Ako želite datum u formatu am / d / yyyy, dopustite mi da unesem podatke u jedno polje upisivanjem tih vrijednosti i odgovarajućim oblikovanjem. Ako želite vodeće nule, stavite ih nakon. U redu je prikazati jedan format, a drugi spremiti u bazu podataka.
  5. Današnji datum - Ispunite to za mene! Zašto tražite da ispunim datum kad to već znate ?!
  6. Format datuma - Ako imate međunarodnu prijavu, možete zadati format datuma na temelju internacionalizacije vaše prijave. Naravno, dobro je imati mogućnost za korisnike da je ponište i odaberu svoju.
  7. Brojevi socijalnog osiguranja - prilično je jednostavno dodati neki javascript koji automatski skače s polja na polje ili programski stavlja crticu između vrijednosti.
  8. telefonski brojevi - uzimajući u obzir internacionalizaciju, ove se vrste polja također mogu pojednostaviti oblikovanjem telefonskog broja u sučelju, ali spremanjem u drugi format koji je učinkovit za vašu pozadinu. Neka korisnici ne upisuju zagrade, razmake i crtice.
  9. Maksimalna duljina teksta - ako ograničite broj znakova pohranjenih u vašoj bazi podataka, NEMOJTE mi dopustiti da upišem toliko znakova! Ne zahtijeva čak ni tešku provjeru valjanosti ... to je samo postavka u okviru za tekst.
  10. Minimalna duljina teksta - ako vam je potrebna minimalna duljina teksta, oglašavajte alarm dok ne dobijem dovoljno znakova.

Evo primjera funkcije Snaga lozinke iz Geek Mudrost:

Upišite lozinku:

AŽURIRANJE: 10. - Pronašao sam uredan resurs s JavaScript bibliotekom dostupnom za preuzimanje za provjera valjanosti obrasca, koja se naziva LiveValidation.

16 Komentari

  1. 1

    Slažem se da su to sjajne značajke za obrasce, ali reći da je "neoprostivo" ne izvršiti provjeru prednjeg javascripta više je osobno mišljenje. Volim raditi u javascriptu i napisao sam neke prilično zgodne maske za uređivanje kako bih obavio neke od stvari o kojima govorite, ali mnoge od njih su daleko od trivijalnih, a mnogi paketi za provjeru valjanosti javascript obrazaca imaju niz velikih rupa. Neće svatko uložiti vrijeme u dupliciranje svoje pozadinske provjere valjanosti (češće nego ne) složenijom provjerom prednjeg javascripta.

    Dobre točke, ali po mom mišljenju definitivno nije nešto što svaki online obrazac "treba".

  2. 2

    Provjera lozinke je relativno pokvarena. Bilo koja lozinka je dovoljno dobra ako je duga.

    Primjer:

    Je li ovo doista osrednja lozinka?

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

  3. 4

    Za mene je najbolja provjera valjanosti obrasca kada korisniku date dojam provjere valjanosti na strani klijenta dok je to provjera valjanosti AJAX/serverske strane.
    Jednostavno morate svojim elementima obrasca priložiti neka rukovanja događajima (ključ, zamućenje, klik, itd...) koji objavljuju cijeli obrazac putem AJAX-a na poslužitelj, pozivajući funkciju "provjera" koja vraća odgovarajuće poruke o pogrešci (ovaj šifra je previše jednostavno, taj datum je u pogrešnom formatu, itd...)
    Kada korisnik konačno objavi obrazac klikom na gumb za slanje, još uvijek možete koristiti funkciju "provjeri" na strani poslužitelja da posljednji put potvrdite obrazac prije umetanja podataka u bazu podataka ili neki drugi proces.
    Na ovaj način, korisnici su zadovoljni onthego provjerom valjanosti A programeri su zadovoljni razvojem validacije samo na strani poslužitelja.

    • 5
      • 6

        Ne tako brzo Doug – slažem se s vašom izvornom pretpostavkom da su ove korisne značajke, poput formatiranja SSN-a u hodu, trivijalne. I lijeno je samo objaviti poruku koja je pogrešna, kada je možete popraviti bez nagađanja formata.

        Međutim, također se slažem s Nicolasom o korištenju logike na strani poslužitelja u sprezi s AJAX-om.

  4. 7

    Vaš naslov kaže "Impresionirajte svoje prijatelje...", ali ne uspijevate me impresionirati s ove 2 minute, telefonom u poruci.

    Prepišite svoj naslov (previše obmanjujući, čini da se misli da se raspravlja o primjerima i praksi).

    Ako ljudi to ne rade već u svojim oblicima, onda samo uče ili forma nije dovoljno važna za korištenje validacije.

    Pravi web programeri to već znaju i rade.

    • 8

      Jay,

      Ispričavam se zbog toga! Moja poanta definitivno nije bila pružiti povratne informacije razvojnim programerima – ja sam stvarno dolazio sa stajališta Product Managera. Slažem se s vama – ali zanimljivo je da se neki drugi programeri ne slažu! Mislim da je to žalosno.

      Hvala na izdvojenom vremenu!
      Doug

  5. 9

    Potpuno se slažem da je provjera valjanosti neophodna komponenta svake aplikacije. Kao voditelj tima, obično se nađem kako šaljem kod natrag kako bi ga "dovršili" iz razloga kao što su propuštanje valjanosti ili ograničenje duljine unosa teksta.

    Za većinu stvari na kojima radim smatram da je potrebno oko 50% vremena da nešto proradi, pod normalnim uvjetima i ako korisnici koriste sustav na način na koji sam namjeravao. Ostalih 50% vremena razvoja dolazi od provjere njihovog unosa, osiguravanja očuvanja integriteta podataka i sprječavanja unosa zlonamjernih podataka u polja obrasca.

    Napisao sam post o tome kako koristim InputVerifikers u svojim hava swing aplikacijama i pokazao kako provjeravam tekstualno polje e-pošte. Regularni izraz koji koristim lako se može promijeniti za provjeru valjanosti telefonskih brojeva, poštanskih brojeva, SSN-ova itd.

    Moj post na blogu je na http://timarcher.com/?q=node/36

    Dobar zapis Doug!

  6. 10

    Slažem se. Lozinke su zaista važne i moraju se uzeti ozbiljno. Mislim da je normalno da gotovo svi oblici upisuju lozinku dvaput, ali nepokazivanje valjanosti dviju lozinki pokazuje da se to ne razmatra ozbiljno.

  7. 11

    Slažem se da provjera valjanosti klijenta može biti vrlo jednostavna značajka. Međutim, važnije je osigurati da same provjere imaju smisla.

    Dali ste sjajan primjer kako provjera valjanosti može zavarati korisnike i, što je još gore, otjerati ih s naše stranice:

    Provjera jačine lozinke Geek Wisdoma od razmatra tZhKwnUmIss biti slaba lozinka. Ne samo da je ovo savršeno jaka zaporka, već će i odvratiti korisnike jer im daje lažni dojam da će prijava na vašu stranicu pomoću ove lozinke biti nekako nesigurna.

    Bilo bi puno bolje (i lakše) jednostavno nagovijestiti korisnicima da dobra lozinka ima najmanje šest znakova i da treba sadržavati i brojeve i slova.

    Ostale upitne provjere valjanosti uključuju korisnička imena koja trebaju određenu minimalnu duljinu ili ne smiju sadržavati razmake. Što nije u redu s korisničkim imenima X, John Doe, ili čak #*!§? mogu to podnijeti.

  8. 12

    Slažem se s tobom. Neki obrasci izgledaju dobro, ali ne nude dobru provjeru valjanosti. Osobni podaci su dati i jedino ih je ispravno shvatiti ozbiljno kao i sve poslovne obrasce u tiskanom obliku.

  9. 13
  10. 14
  11. 15

    Malo mi je zabavno što objavljujete o dobroti pružanja provjere valjanosti obrasca u stvarnom vremenu, a ipak, vaš obrazac za komentar na dnu posta ne pruža ništa od ovoga...

    Shvaćam da koristite WordPress za blog o svojim mislima na internetu, ali možda nije tako loša ideja ni osigurati da prakticirate ono što propovijedate. 🙂

    Usput, dobar post, čak i ako se nužno ne slažem sa svime što ste napisali.

    • 16

      Doh! Uhapsila si me, Amanda! Volio bih da imam vremena napraviti bolju provjeru valjanosti obrasca i integrirati ga u WordPress. Posebno mi se sviđa Adobe Spry okvir za provjeru valjanosti i volio bih vidjeti da netko integrira to dvoje!

      Hvala! (I uvijek cijenim da postoji više mišljenja o bilo kojoj temi).
      Doug

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.