Zaimponuj swoim gościom w sieci dzięki weryfikacji formularzy w czasie rzeczywistym

formularz online

Pierwsze wrażenie, jakie zwykle masz jako użytkownik aplikacji internetowej, to wypełnienie formularza internetowego. Jestem zdumiony liczbą formularzy internetowych, które mają zerową walidację lub czekają na przesłanie treści formularza, zanim powiedzą Ci, jakie problemy możesz mieć.

Moja zasada jest taka, że ​​wszystko, co nie jest zatwierdzone, jest obsługiwane. Wszystko, co można zweryfikować przed przesłaniem formularza, musi zostać zweryfikowane. Wraz z pojawieniem się Ajax możesz nawet sprawdzać dane w swojej bazie danych przed przesłaniem. Nie wybieraj leniwej trasy – użytkownicy doceniają pomoc!

Oto kilka przykładów:

  1. Adresy e-mail – Nie mam nic przeciwko formularzom, które zmuszają do dwukrotnego wypełniania adresu e-mail, aby je zweryfikować, ale fakt, że nie mówią ci, czy pasują lub są odpowiednio skonstruowane, jest niewybaczalne.
  2. hasła – Jeśli zamierzasz zmusić mnie do dwukrotnego wpisania hasła, przed wysłaniem formularza sprawdź, czy wartości są takie same.
  3. Siła hasła – Jeśli potrzebujesz hasła o określonej sile (kombinacji znaków alfanumerycznych lub wielkości liter), przekaż mi informację zwrotną podczas wpisywania hasła. Nie czekaj, aż prześlę, zanim poinformujesz mnie, że to się nie powiodło.
  4. Daty – Jeśli chcesz, aby data była w formacie am/d/rrrr, pozwól mi wprowadzić informacje w jednym polu, wpisując te wartości i odpowiednio je sformatując. Jeśli chcesz zera wiodące, wstaw je później. Można wyświetlić jeden format i zapisać inny w swojej bazie danych.
  5. Dzisiejsza data - Wypełnij to dla mnie! Dlaczego prosisz mnie o podanie daty, skoro już ją znasz ?!
  6. Format daty – Jeśli masz aplikację międzynarodową, możesz domyślny format daty oparty na internacjonalizacji Twojej aplikacji. Oczywiście dobrze jest mieć możliwość zastąpienia tej opcji przez użytkowników i wybrania własnej.
  7. Numery ubezpieczenia społecznego – dość łatwo jest dodać jakiś javascript, który automatycznie przeskakuje z pola do pola lub programowo umieszcza myślnik między wartościami.
  8. Numer telefonu – biorąc pod uwagę internacjonalizację, tego typu pola również można uprościć, formatując numer telefonu w interfejsie, ale zapisując go w innym formacie, który jest wydajny dla Twojego zaplecza. Nie zmuszaj użytkowników do wpisywania nawiasów, spacji i myślników.
  9. Maksymalna długość tekstu – jeśli ograniczasz liczbę znaków przechowywanych w bazie danych, NIE pozwól mi wpisywać tylu znaków! Nie wymaga nawet trudnej walidacji… to tylko ustawienie w polu tekstowym.
  10. Minimalna długość tekstu - jeśli potrzebujesz minimalnej długości tekstu, włącz alarm, aż będę miał wystarczającą liczbę znaków.

Oto przykład funkcji siły hasła z Mądrość maniaków:

Wpisz hasło:

AKTUALIZACJA: 10 - Znalazłem fajny zasób z biblioteką JavaScript dostępną do pobrania walidacja formularza, zwana LiveValidation.

Komentarze 16

  1. 1

    Zgadzam się, że to świetne funkcje dla formularzy, ale stwierdzenie, że niewybaczalne jest nieprzeprowadzanie sprawdzania poprawności javascript w interfejsie użytkownika, jest bardziej osobistą opinią. Uwielbiam pracować w javascript i napisałem kilka całkiem zgrabnych masek edycji, aby robić niektóre z rzeczy, o których mówisz, ale wiele z nich nie jest trywialnych, a wiele pakietów do walidacji formularzy javascript ma wiele dużych dziur. Nie każdy zainwestuje czas w zduplikowanie walidacji zaplecza z (najczęściej) bardziej złożoną walidacją javascript.

    Zalety, ale na pewno nie jest to coś, czego „potrzebuje” każdy formularz online.

  2. 2

    Moduł sprawdzania haseł jest względnie uszkodzony. Każde hasło jest wystarczająco dobre, jeśli jest długie.

    Przykład:

    Czy to naprawdę przeciętne hasło?

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

  3. 4

    Dla mnie najlepsza walidacja formularza jest wtedy, gdy dajesz użytkownikowi wrażenie walidacji po stronie klienta, podczas gdy jest to walidacja po stronie AJAX / Server.
    Musisz po prostu dołączyć do elementów swojego formularza obsługę zdarzeń (klawisz, rozmycie, kliknięcie, itp.), Które wysyłają cały formularz przez AJAX na serwer, wywołując funkcję „sprawdzania”, która zwraca odpowiednie komunikaty o błędach (to hasło też jest proste, ta data jest w złym formacie itp.)
    Gdy użytkownik ostatecznie opublikuje formularz, klikając przycisk przesyłania, nadal można użyć funkcji „sprawdź” po stronie serwera, aby sprawdzić ostatni raz formularz przed wstawieniem danych do bazy danych lub w innym procesie.
    W ten sposób użytkownicy są zadowoleni z walidacji onthego, ORAZ programiści są zadowoleni z rozwoju walidacji tylko po stronie serwera.

    • 5
      • 6

        Nie tak szybko Doug - zgadzam się z Twoim pierwotnym założeniem, że te pomocne funkcje, takie jak formatowanie numeru ubezpieczenia społecznego w locie, są trywialne. I leniwie jest po prostu opublikować wiadomość, że jest źle, kiedy można to naprawić bez zgadywania formatu.

        Jednak zgadzam się również z Nicolasem co do używania logiki po stronie serwera w połączeniu z AJAX.

  4. 7

    Twój tytuł mówi „Zaskocz swoich przyjaciół…”, ale nie udało ci się zaimponować mi tymi 2 minutami, które zostały przesłane pocztą.

    Przepisz swój tytuł (zbyt mylący, sprawia wrażenie, że omawiane są przykłady i praktyki).

    Jeśli ludzie nie robią tego już w swoich formularzach, to po prostu się uczą lub formularz nie jest na tyle ważny, aby używać walidacji.

    Prawdziwi programiści sieciowi już to wiedzą i robią to.

    • 8

      Sójka,

      Przepraszam za to! Zdecydowanie nie chciałem przekazywać opinii programistów - naprawdę szedłem z punktu widzenia Product Managera. Zgadzam się z tobą - ale to ciekawe, że niektórzy inni programiści nie! Myślę, że to niefortunne.

      Dzięki za poświęcenie czasu!
      Doug

  5. 9
    Awatar Tim Archer . , , , , , , , , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,

    Całkowicie zgadzam się z tym, że walidacja jest niezbędnym elementem każdej aplikacji. Jako kierownik zespołu zazwyczaj odsyłam kod z powrotem do „ukończenia” z powodów takich jak brak walidacji lub ograniczenie długości wprowadzania tekstu.

    W przypadku większości rzeczy, nad którymi pracuję, potrzeba około 50% czasu, aby coś działało w normalnych warunkach i jeśli użytkownicy używają systemu w sposób, w jaki zamierzałem. Pozostałe 50% czasu tworzenia oprogramowania pochodzi ze sprawdzania ich danych wejściowych, zapewnienia integralności danych oraz uniemożliwienia wprowadzania złośliwych danych do pól formularza.

    Napisałem post o tym, jak używam InputVerifiers w moich aplikacjach hava swing i pokazuję, jak weryfikuję pole tekstowe wiadomości e-mail. Wyrażenie regularne, którego używam, można łatwo zmodyfikować, aby sprawdzić poprawność numerów telefonów, kodów pocztowych, numerów PESEL itp.

    Mój post na blogu jest pod adresem http://timarcher.com/?q=node/36

    Dobra wiadomość Doug!

  6. 10

    Zgadzam się. Hasła są naprawdę ważne i należy je traktować poważnie. Myślę, że to normalne, że prawie we wszystkich formularzach wpisuje się hasło dwa razy, ale nie pokazanie ważności dwóch haseł pokazuje, że nie jest to traktowane poważnie.

  7. 11

    Zgadzam się, że walidacja klienta może być funkcją bardzo przyjazną dla użytkownika. Jednak ważniejsze jest upewnienie się, że same walidacje rzeczywiście mają sens.

    Podałeś wspaniały przykład tego, jak walidacja może wprowadzić użytkowników w błąd i, co gorsza, odciągnąć ich od naszej witryny:

    Walidacja siły hasła Geek Wisdom na podstawie rozważań tZhKwnUmiss być słabym hasłem. Jest to nie tylko doskonale silne hasło, ale także zrazi użytkowników, ponieważ daje im fałszywe wrażenie, że logowanie się do witryny przy użyciu tego hasła będzie w jakiś sposób niebezpieczne.

    Znacznie lepiej (i łatwiej) byłoby po prostu wskazać użytkownikom, że dobre hasło ma co najmniej sześć znaków i powinno zawierać zarówno cyfry, jak i litery.

    Inne wątpliwe walidacje obejmują nazwy użytkowników, które wymagają określonej minimalnej długości lub mogą nie zawierać spacji. Co jest nie tak z nazwami użytkowników X, Jan Kowalski, lub nawet # *! §? Mogę sobie z tym poradzić.

  8. 12

    Zgadzam się z Tobą. Niektóre formularze wyglądają dobrze, ale nie zapewniają dobrej weryfikacji. Dane osobowe są podane i należy je traktować poważnie, tak jak wszelkie formularze biznesowe w wersji papierowej.

  9. 13
  10. 14
  11. 15

    Uważam, że to trochę zabawne, że piszesz o dobroci zapewniania walidacji formularza w czasie rzeczywistym, a jednak twój formularz komentarza na dole posta nie zawiera żadnego z tych…

    Zdaję sobie sprawę, że używasz WordPressa do blogowania swoich myśli w Internecie, ale być może upewnienie się, że praktykujesz to, co głosisz, również nie jest takim złym pomysłem. 🙂

    Nawiasem mówiąc, dobry post, nawet jeśli niekoniecznie zgadzam się ze wszystkim, co napisałeś.

    • 16

      No! Złapałeś mnie, Amando! Żałuję, że nie mam czasu na lepsze sprawdzanie poprawności formularzy i integrację z WordPress. Szczególnie podoba mi się Adobe Spry ramy walidacji i chciałbym zobaczyć, jak ktoś integruje te dwa elementy!

      Dzięki! (I zawsze doceniam, że jest wiele opinii na każdy temat).
      Doug

Co o tym myślisz?

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane komentarza.