მოახდინეთ თქვენი ვებ – ვიზიტორების შთაბეჭდილება რეალურ დროში ფორმის ვალიდაციით

ონლაინ ფორმა

პირველი შთაბეჭდილება, რომელიც თქვენ გაქვთ, როგორც ვებ – პროგრამის მომხმარებელი, არის ვებ – ფორმის შევსებისას. მე გაოცებული ვარ იმ ვებ – ფორმების რაოდენობაზე, რომლებსაც აქვთ ნულოვანი ვალიდაცია ან გელოდებით თქვენი ფორმის შინაარსის გაგზავნას, სანამ გეტყვით, რა პრობლემები შეიძლება გქონდეთ.

ჩემი ძირითადი წესია, რომ ყველაფერი, რაც არ არის დამოწმებული, მხარს დაუჭერს. ყველაფერი, რაც შეიძლება გადამოწმდეს ფორმის წარდგენამდე, უნდა იყოს. Ajax- ის გაჩენისთანავე, მონაცემების გადამოწმებაც კი შეგიძლიათ თქვენს მონაცემთა ბაზასთან დაკავშირებით, წარდგენამდე. არ აირჩიოთ ზარმაცი მარშრუტი - მომხმარებლები აფასებენ დახმარებას!

აქ არის რამოდენიმე მაგალითი:

  1. ელფოსტა - მე არ ვარ წინააღმდეგი ფორმებისა, რომელთა საშუალებითაც თქვენ ორჯერ უნდა შეავსოთ თქვენი ელ.ფოსტის მისამართი, რომ დაადასტუროთ, მაგრამ ის, რომ ისინი არ გეუბნებიან შეესაბამება თუ არა მათ შესაბამის შესაბამისობას ან აშენებულია, გაუმართლებელია.
  2. პაროლები - თუ მაიძულებთ დამაკრიფოთ პაროლი ორჯერ, გთხოვთ დაადასტუროთ, რომ მნიშვნელობები იგივეა, სანამ ფორმას გამოაქვეყნებთ.
  3. პაროლის სირთულე - თუ გჭირდებათ პაროლის გარკვეული სიძლიერე (ალფანუმერული სიმბოლოების ან შრიფტების კომბინაცია), გამომიგზავნეთ უკუკავშირი პაროლის აკრეფის დროს. არ დაველოდოთ ჩემს წარდგენას, სანამ მითხრათ, რომ ეს ვერ მოხერხდა.
  4. ვადა - თუ გსურთ თარიღი am / d / yyyy ფორმატში, ნება მიბოძეთ შევიტანო ინფორმაცია ერთ ველში ამ მნიშვნელობების აკრეფით და მათი სათანადო ფორმატით. თუ გსურთ წამყვანი ნულები, განათავსეთ შემდეგ. არაუშავს ერთი ფორმატის ჩვენება და სხვა მონაცემთა შენახვა თქვენს მონაცემთა ბაზაში.
  5. Დღევანდელი თარიღი - შემივსე! რატომ მთხოვთ თარიღის შევსებას, როცა ეს უკვე იცით ?!
  6. თარიღი ფორმატი - თუ თქვენ გაქვთ საერთაშორისო პროგრამა, შეგიძლიათ ნაგულისხმევად შეადგინოთ თარიღის ფორმატი თქვენი პროგრამის ინტერნაციონალიზაციის საფუძველზე. რა თქმა უნდა, კარგია იმის შესაძლებლობა, რომ მომხმარებლებმა უგულებელყონ ეს ვარიანტი და აირჩიონ საკუთარი.
  7. სოციალური დაცვის ნომრები - საკმაოდ მარტივია JavaScript- ის დამატება, რომელიც ავტომატურად ხტება ველიდან ველში ან პროგრამულად აყენებს ტიპს მნიშვნელობებს შორის.
  8. ტელეფონის ნომრები - ინტერნაციონალიზაციის გათვალისწინებით, ამ ტიპის ველების გამარტივება შესაძლებელია ინტერფეისში ტელეფონის ნომრის ფორმატით, მაგრამ მისი შენახვა სხვა ფორმატით, რომელიც ეფექტურია თქვენი უკანა მხარეებისთვის. ნუ დააკონკრეტებთ თქვენს მომხმარებლებს ფრჩხილებში, ინტერვალებს და ტირეებს.
  9. ტექსტის მაქსიმალური სიგრძე - თუ შეზღუდავთ თქვენს მონაცემთა ბაზაში შენახული სიმბოლოების რაოდენობას, ნუ მირჩევთ აკრიფოთ ამდენი სიმბოლო! რთული ვალიდაცია კი არ საჭიროებს… ეს მხოლოდ ტექსტების ყუთში მითითებულია.
  10. მინიმალური ტექსტის სიგრძე - თუ ტექსტის მინიმალური სიგრძე გჭირდებათ, მაშინ განგაშის ხმა გაისმინეთ მანამ, სანამ საკმარისი სიმბოლოები არ მაქვს.

აქ მოცემულია პაროლის სიძლიერის ფუნქციის მაგალითი გიკი სიბრძნე:

აკრიფეთ პაროლი:

განახლების თარიღი: 10 - მე აღმოვაჩინე სისუფთავე რესურსი JavaScript ბიბლიოთეკით, რომლის ჩამოტვირთვაც ხელმისაწვდომია ფორმის ვალიდაცია, სახელწოდებით LiveValidation.

16 კომენტარები

  1. 1

    ვეთანხმები, რომ ეს შესანიშნავი თვისებებია ფორმებისთვის, მაგრამ იმის თქმა, რომ ”გამართლებული” არ არის წინა JavaScript დამტკიცება, ეს უფრო პირადი აზრია. მე მიყვარს ჯავასკრიპტში მუშაობა და დავწერე რამდენიმე სისუფთავე რედაქტირების ნიღაბი, რომ გააკეთო რამდენიმე რამ, რაზეც ლაპარაკობთ, მაგრამ ბევრი მათგანი არ არის წვრილმანისგან, და javascript ფორმაში დამტკიცების პაკეტებს ბევრი დიდი ხვრელი აქვს. ყველა დრო არ ჩადებს თავის უკანა ბოლოს დადასტურების დუბლირებაში (უფრო ხშირად) უფრო რთული javascript დამტკიცების წინა ვერსიით.

    კარგი წერტილებია, მაგრამ, რა თქმა უნდა, არა ის, რაც ყველა ონლაინ ფორმას "სჭირდება" ჩემი აზრით.

  2. 2

    პაროლის შემმოწმებელი ფარდობით არის გატეხილი. ნებისმიერი პაროლი საკმაოდ კარგია, თუ გრძელია.

    მაგალითი:

    ეს ნამდვილად უღიმღამო პაროლია?

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

  3. 4

    ჩემთვის საუკეთესო ფორმის ვალიდაციაა, როდესაც მომხმარებელს აძლევ კლიენტის მხარის ვალიდაციის შთაბეჭდილებას, ხოლო ეს არის AJAX / სერვერის მხარის ვალიდაცია.
    თქვენ უბრალოდ უნდა მიამაგროთ თქვენი ფორმის ელემენტებს ღონისძიების ზოგიერთი დამუშავება (კლავიში, დაბინდვა, დაწკაპუნება და ა.შ. that), რომელიც მთელ ფორმას ავრცელებს სერვერზე AJAX– ით, "შემოწმების" ფუნქციის გამოძახებით, რომელიც დააბრუნებს შესაბამის შეცდომებს (ეს პასპორტიც მარტივია, რომ თარიღი არასწორი ფორმატით არის და ა.შ.…)
    როდესაც მომხმარებელი საბოლოოდ გამოაქვეყნებს ფორმას გაგზავნის ღილაკზე დაწკაპუნებით, თქვენ კვლავ შეგიძლიათ გამოიყენოთ "შემოწმება" სერვერის მხარის ფუნქცია, ბოლოს რომ დაადასტუროთ ფორმა მონაცემთა ბაზაში მონაცემთა ჩასმისას ან სხვა პროცესში.
    ამ გზით მომხმარებლები კმაყოფილი არიან onthego– ს დადასტურებით, ხოლო დეველოპერები კმაყოფილნი არიან სერვერის მხოლოდ დადასტურების განვითარებით.

    • 5
      • 6

        არც თუ ისე ჩქარა დუგი - ვეთანხმები თქვენს თავდაპირველ წინაპირობას, რომ ეს სასარგებლო თვისებები, როგორიცაა SSN ფორმატის გაფართოება, ტრივიალურია. და ის ზარმაცია, უბრალოდ გაგზავნოს შეტყობინება, რომელიც არასწორია, როდესაც შეგიძიათ დააფიქსიროთ ფორმატში გამოცნობის გარეშე.

        ამასთან, მე ვეთანხმები ნიკოლას ასევე სერვერის გვერდითი ლოგიკის გამოყენებას AJAX- თან ერთად.

  4. 7

    თქვენს სათაურში წერია „შთაბეჭდილება მოახდინე შენს მეგობრებზე“, მაგრამ ვერ მოახდინე ჩემზე დიდი შთაბეჭდილების მოხდენა ამ 2 წთ-ით, ტელეფონზე შეტყობინებით.

    გადაწერეთ თქვენი სათაური (ძალიან შეცდომაში შემყვანი, აფიქრებინებს, რომ აქ განხილულია მაგალითები და პრაქტიკა).

    თუ ადამიანები ამას უკვე არ აკეთებენ თავიანთი ფორმებით, ისინი უბრალოდ სწავლობენ ან ფორმა არ არის საკმარისად მნიშვნელოვანი, რომ გამოვიყენოთ ვალიდაცია.

    ნამდვილმა ვებ – პროგრამისტებმა ეს უკვე იციან და ამას აკეთებენ.

    • 8

      ჯეი,

      Ვწუხვარ ამის გამო! ჩემი აზრი ნამდვილად არ იყო დეველოპერისთვის გამოხმაურება - მე ნამდვილად პროდუქტის მენეჯერის თვალსაზრისით მივდიოდი. გეთანხმებით - მაგრამ საინტერესოა, რომ ზოგიერთ სხვა დეველოპერს არა! ვფიქრობ, ეს სამწუხაროა.

      გმადლობთ, რომ დრო გამოყავით!
      Doug

  5. 9

    მე ვეთანხმები დადასტურებას, რომ ეს არის ნებისმიერი განაცხადის აუცილებელი კომპონენტი. როგორც გუნდის ხელმძღვანელი, მე ვხვდები, რომ კოდს უკან ვგზავნი, რომ "დასრულდეს" იმ მიზეზების გამო, როგორიცაა ვალიდაციების დაკარგვა ან ტექსტის შეყვანის სიგრძის შეზღუდვა.

    უმეტეს საკითხზე, რომელზეც ვმუშაობ, ვფიქრობ, რომ 50% –ს დრო სჭირდება, რომ რამე მუშაობდეს, ნორმალურ პირობებში და თუ მომხმარებლები იყენებენ სისტემას ისე, როგორც მე ვფიქრობდი. განვითარების სხვა 50% მოდის მათი შენატანების შემოწმებაზე, მონაცემთა მთლიანობის დაცვაზე და ფორმის ველების მიერ მავნე მონაცემების შეტანის დაუშვებლად.

    მე დავწერე პოსტი იმის შესახებ, თუ როგორ ვიყენებ InputVerifiers ჩემს hava swing აპლიკაციებში და ვაჩვენებ როგორ ვამოწმებ ელ.ფოსტის ტექსტის ველს. ჩვეულებრივი გამოთქმა, რომელსაც ვიყენებ, ადვილად ცვალებადია ტელეფონის ნომრების, საფოსტო კოდების, SSN- ების და ა.შ.

    ჩემი ბლოგის პოსტი არის http://timarcher.com/?q=node/36

    კარგი წერა Doug!

  6. 10

    Ვეთანხმები. პაროლები მართლაც მნიშვნელოვანია და სერიოზულად უნდა მოეკიდოთ მათ. მე ვფიქრობ, რომ ნორმალურია თითქმის ყველა ფორმისთვის პაროლის ორჯერ აკრეფა, მაგრამ ორი პაროლის ნამდვილობის ჩვენება არ ნიშნავს, რომ სერიოზულად არ განიხილება.

  7. 11

    ვეთანხმები, რომ კლიენტის დადასტურება შეიძლება იყოს ძალიან მოსახერხებელი თვისება. ამასთან, უფრო მნიშვნელოვანია დარწმუნდეთ, რომ თავად ვალიდაციებს აქვთ აზრი.

    თქვენ ბრწყინვალე მაგალითი მოგცეთ იმის შესახებ, თუ როგორ შეიძლება ვალიდაციამ შეცდომაში შეიყვანოს მომხმარებლები და, რაც უარესია, მათი განდევნა ჩვენი საიტიდან:

    Geek Wisdom– ის პაროლის სიძლიერის გადამოწმება განიხილავს tZhKwnUmIss იყოს სუსტი პაროლი. ეს არა მხოლოდ შესანიშნავად ძლიერი პაროლია, არამედ მომხმარებლებს დააშორებს, რადგან მათ ცრუ შთაბეჭდილებას ტოვებს, რომ ამ საიტზე პაროლის გამოყენებით თქვენს საიტზე შესვლა გარკვეულწილად დაუცველი იქნება.

    ბევრად უკეთესი იქნება (და უფრო მარტივი), თუ უბრალოდ მიანიშნებთ მომხმარებლებზე, რომ კარგი პაროლი მინიმუმ ექვსი სიმბოლოა და უნდა შეიცავდეს როგორც ციფრებს, ასევე ასოებს.

    სხვა საეჭვო ვალიდაციებში შედის მომხმარებლის სახელები, რომელთაც სჭირდებათ გარკვეული მინიმალური სიგრძე ან შეიძლება არ შეიცავდეს ინტერვალებს. რაში მდგომარეობს მომხმარებლის სახელები X, ჯონ დო, ან თუნდაც # *!? მე შემიძლია ამის მოგვარება.

  8. 12

    Გეთანხმები. ზოგიერთი ფორმა კარგად გამოიყურება, მაგრამ ის არ გთავაზობთ კარგ ვალიდაციას. მოცემულია პირადი ინფორმაცია და მხოლოდ მათი სერიოზულად აღქმაა საჭირო, ისევე როგორც ნებისმიერი ბიზნესის ფორმები ნაბეჭდი სახით.

  9. 13

    რამეთუ აქ მოვედი რამდენიმე კოდის იმედით. გთხოვთ, გადააწოდოთ ამ შეტყობინების გაგზავნის თემა.

  10. 14
  11. 15

    ოდნავ სახალისო მეჩვენება, რომ თქვენ გამოაქვეყნებთ სიკეთეს რეალურ დროში ფორმის ვალიდაციის შესახებ, მაგრამ თქვენი კომენტარის ფორმა პოსტის ბოლოში არ შეიცავს არცერთს

    მე ვხვდები, რომ შენ იყენებ WordPress- ს საკუთარი აზრის ბლოგზე ინტერნეტში, მაგრამ ალბათ იმის უზრუნველყოფა, რომ იქცევი, რასაც იქადაგებ, არც ისე ცუდი აზრია. 🙂

    სხვათა შორის, კარგი პოსტია, მაშინაც კი, თუ სულაც არ ვეთანხმები თქვენს დაწერილს.

    • 16

      დოჰ! გამანადგურე, ამანდა! ვისურვებდი, დრო მქონდა უკეთესად გადავამოწმო ფორმა და გავაერთიანო იგი WordPress– ში. მე განსაკუთრებით მომწონს Adobe Spry დადასტურების ჩარჩო და ვისურვებდი ვინმეს ინტეგრირებაში.

      მადლობა! (და მე ყოველთვის ვაფასებ, რომ არსებობს მრავალი მოსაზრება ნებისმიერ თემაზე).
      Doug

რას ფიქრობთ?

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეისწავლეთ თქვენი კომენტარის მონაცემები დამუშავებული.