Առաջին տպավորությունը, որը դուք սովորաբար ունենում եք որպես Վեբ հավելվածի օգտագործող, այն է, երբ վեբ ձև եք լրացնում: Ես զարմացած եմ այնտեղի վեբ ձևերի քանակից, որոնք ունեն զրոյական վավերացում կամ որոնք սպասում են, որ դուք ներկայացնեք ձեր ձևի բովանդակությունը, նախքան ձեզ ասեն, թե ինչ խնդիրներ կարող եք ունենալ:
Իմ նախնական կանոնն այն է, որ ցանկացած բան, որը չի վավերացվում, աջակցվում է: Այն ամենը, ինչ կարող է վավերացվել նախքան ձևաթուղթը ներկայացնելը, պետք է լինի: Ajax- ի գալուստով դուք կարող եք նույնիսկ հաստատել տվյալները ձեր տվյալների բազայի դեմ `նախքան ներկայացնելը: Մի ընտրեք ծույլ երթուղին. Օգտվողները գնահատում են օգնությունը:
Ահա մի քանի օրինակներ:
- Փոստի հասցեները - Ես դեմ չեմ այն ձևաթղթերին, որոնք ձեզ ստիպում են երկու անգամ լրացնել ձեր էլ-փոստի հասցեն `դրանք վավերացնելու համար, բայց այն, որ դրանք ձեզ չեն ասում` համապատասխանո՞ւմ են դրանք, թե՞ համապատասխանաբար կառուցված են, աններելի է:
- Գաղտնաբառերը - Եթե պատրաստվում եք ինձ ստիպել երկու անգամ գաղտնաբառ մուտքագրել, ապա ձևը փակցնելուց առաջ հաստատեք, որ արժեքները նույնն են:
- Գաղտնաբառի հուսալիության մակարդակ - Եթե գաղտնաբառի որոշակի ուժ եք պահանջում (այբբենական թվերի կամ տառերի համադրություն), ապա տրամադրեք ինձ որոշ արձագանքներ, երբ մուտքագրում եմ իմ գաղտնաբառը: Մի սպասեք, որ ներկայացնեմ, նախքան ինձ կասեք, որ դա ձախողվել է:
- Ամսաթվեր - Եթե ցանկանում եք ամսաթիվը am / d / yyyy ձևաչափով, ապա թույլ տվեք ինձ մուտքագրել տեղեկատվությունը մեկ դաշտում ՝ մուտքագրելով այդ արժեքները և համապատասխան ձևաչափելով դրանք: Եթե ցանկանում եք առաջատար զրոներ տեղադրել դրանք հետո: Ayիշտ է, որ մեկ ձևաչափ ցուցադրվի և մեկ այլ պահվի ձեր տվյալների բազայում:
- Այսօրվա ամսաթիվը - Լրացրու ինձ համար: Ինչու եք խնդրում ինձ լրացնել ամսաթիվը, երբ դա արդեն գիտեք:
- Ամսաթիվ Ֆորմատ - Եթե ունեք միջազգային դիմում, կարող եք լռելյայն ամսաթվի ձևաչափ, որը հիմնված է ձեր դիմումի միջազգայնացման վրա: Իհարկե, լավ է, որ օգտվողները հնարավորություն ունենան գերագնահատել այդ տարբերակը և ընտրել իրենց սեփականը:
- Սոցիալական ապահովության համարներ - բավականին պարզ է ավելացնել մի քանի javascript, որոնք ավտոմատ կերպով ցատկում են դաշտից դաշտ կամ ծրագրավորմամբ գծեր են դնում արժեքների միջև:
- Հեռախոսահամարներ - հաշվի առնելով միջազգայնացումը, այս տիպի դաշտերը կարող են նաև պարզեցվել ՝ հեռախոսի համարը ֆորմատավորելով ինտերֆեյսում, բայց պահպանելով այն մեկ այլ ձևաչափով, որն արդյունավետ է ձեր հետին պլանի համար: Մի օգտագործեք ձեր օգտվողներին մուտքագրել փակագծեր, տարածություններ և գծիկներ:
- Տեքստի առավելագույն երկարությունը - եթե սահմանափակում եք ձեր տվյալների բազայում պահվող նիշերի քանակը, ապա Թույլ մի տվեք ինձ մուտքագրել այդքան նիշ: Դա նույնիսկ դժվար վավերացում չի պահանջում just դա պարզապես տեքստային տուփի պարամետր է:
- Տեքստի նվազագույն երկարությունը - եթե տեքստի նվազագույն երկարություն է պահանջվում, ապա ահազանգեցեք, մինչև որ բավարար նիշ ունենամ:
Ահա գաղտնաբառի ուժի գործառույթի օրինակ Geek Իմաստություն:
ԹԱՐՄԱՈՒՄ. 10/26/2007 - Ես գտա կոկիկ ռեսուրս `JavaScript գրադարանով, որը հասանելի է ներբեռնելու համար ձևի վավերացում, որը կոչվում է LiveValidation.
Համաձայն եմ, որ դրանք ձևերի հիանալի հատկություններ են, բայց ասել, որ «աններելի է» չկատարել առջևի javascript վավերացումը ավելի շատ անձնական կարծիք է: Ես սիրում եմ աշխատել JavaScript- ում և գրել եմ մի քանի կոկիկ խմբագրման դիմակներ `որոշ բաների մասին, որոնց մասին խոսում ես, բայց դրանցից շատերը հեռու են մանրուքներից, և այնտեղ javascript ձևի վավերացման փաթեթներից շատերն ունեն մի շարք մեծ անցքեր: Ոչ բոլորն են ժամանակը ներդնելու իրենց հետևի վերջի վավերացումը կրկնօրինակելու համար (ավելի հաճախ, քան ոչ) ավելի բարդ առջևի javascript վավերացումով:
Լավ կետեր, բայց, ըստ իս, ոչ թե ինչ-որ բան է «անհրաժեշտ» յուրաքանչյուր առցանց ձևի:
Գաղտնաբառի ստուգիչը relativly կոտրված է: Passwordանկացած գաղտնաբառ բավականաչափ լավ է, եթե երկար է:
Example:
Սա իրո՞ք միջակ գաղտնաբառ է:
f46dffe6ff4ffgdfgfjfgyu656hfdt74tyhdtu5674yfgh6uhhye45herdhrt64684hythdfth54y54348fgdcvzse8cn984v3p4m6vq98476m3wuw89ewfucsd8fg67s4v8tw76u340m6tver7nt+s89346vs+0em9u+s+09hrtuhss586ysvne4896vb4865tbv089rt++
K,
Դա պարզապես գրառման իմաստի նկարագրություն էր: Կարծում եմ ՝ դա հիանալի գաղտնաբառ է: Հաջողություն դրան: 😉
Doug
Ինձ համար լավագույն ձևի վավերացումն այն է, երբ օգտագործողին տալիս ես հաճախորդի կողմից վավերացման տպավորություն, մինչդեռ դա AJAX / սերվերի կողմից վավերացում է:
Դուք պարզապես պետք է ձեր ձևի տարրերին միացնեք իրադարձությունների որոշ բեռնաթափում (ստեղնաշարի կոճղ, սեղմում և այլն ...), որոնք AJAX- ի միջոցով ամբողջ ձևը տեղադրում են սերվերին `վկայակոչելով« ստուգման »գործառույթ, որը վերադարձնում է համապատասխան սխալի հաղորդագրությունները (այս անձնագիրն էլ է պարզ, այդ ամսաթիվը սխալ ձևաչափով է և այլն ...)
Երբ օգտվողը վերջապես տեղադրում է ձևը ՝ սեղմելով «Ներկայացնելու» կոճակը, դուք դեռ կարող եք օգտագործել «ստուգել» սերվերի կողմի գործառույթը ՝ վերջին անգամ ձևը վավերացնելու համար ՝ նախքան տվյալները տվյալների շտեմարանում տեղադրեք կամ որևէ այլ գործընթաց:
Այսպիսով, օգտվողները գոհ են onthego վավերացումից, և մշակողները գոհ են սերվերի կողմից միայն վավերացման մշակմամբ:
Nicolas,
Դա կարծես ինչ-որ հիմնավոր խորհուրդ է: Ես ծրագրավորող չեմ (չնայած կոտրել եմ մի քանի ծրագրեր):
Doug
Ոչ այնքան արագ Doug. Ես համաձայն եմ ձեր նախնական ենթադրության հետ, որ այս օգտակար հատկությունները, ինչպիսիք են SSN- ի ձևաչափումը թռիչքի վրա, չնչին են: Եվ ծույլ է պարզապես հաղորդագրություն փակցնել, որ դա սխալ է, երբ կարող ես ուղղել այն ՝ առանց գուշակելու ձևաչափը:
Այնուամենայնիվ, ես համաձայն եմ նաև Նիկոլասի հետ Server Side տրամաբանությունը AJAX- ի հետ համատեղ օգտագործելու վերաբերյալ:
Ձեր վերնագիրն ասում է «տպավորիր քո ընկերներին…», բայց դու չես կարող տպավորություն թողնել ինձ այս 2 րոպեի ընթացքում ՝ հեռախոսազանգով գրառման մեջ:
Վերաշարադրեք ձեր վերնագիրը (չափազանց ապակողմնորոշիչ, ստիպում է մտածել, որ կան քննարկվող օրինակներ և պրակտիկա):
Եթե մարդիկ դա արդեն չեն անում իրենց ձևերով, ապա նրանք պարզապես սովորում են, կամ ձևը այնքան էլ կարևոր չէ վավերացումը օգտագործելու համար:
Իրական վեբ ծրագրավորողները դա արդեն գիտեն և անում են դա:
Ayեյ,
Ցավում եմ! Իմ նպատակը, անշուշտ, ծրագրավորողի հետադարձ կապի ապահովումը չէր. Ես իսկապես գալիս էի ապրանքի մենեջերի տեսանկյունից: Ես համաձայն եմ ձեզ հետ, բայց հետաքրքիր է, որ որոշ այլ մշակողներ ՝ ոչ: Կարծում եմ ՝ դա ցավալի է:
Շնորհակալություն ժամանակ տրամադրելու համար:
Doug
Ես լիովին համաձայն եմ, որ վավերացումը հանդիսանում է ցանկացած դիմումի անհրաժեշտ բաղադրիչ: Որպես թիմի առաջատար, ես սովորաբար գտնում եմ, որ հետ եմ ուղարկում կոդ ՝ «ավարտելու» համար ՝ այնպիսի վավերացումների բացակայության կամ տեքստի մուտքագրման երկարությունների սահմանափակման համար:
Շատ բաների համար, որոնց վրա ես աշխատում եմ, կարծում եմ, որ ինչ-որ բան աշխատելու համար ժամանակի տևում է մոտ 50% -ը, նորմալ պայմաններում և եթե օգտվողներն օգտագործում են համակարգը այնպես, ինչպես ես էի նախատեսում: Մշակման ժամանակի մյուս 50% -ը գալիս է դրանց մուտքագրումը ստուգելուց, տվյալների ամբողջականության պահպանումից և ձևի դաշտերը թույլ չտալուց, որ վնասակար տվյալներ մուտքագրվեն:
Ես գրեցի գրառում այն մասին, թե ինչպես եմ օգտագործում InputVerifiers- ը իմ hava swing հավելվածներում և ցույց եմ տալիս, թե ինչպես եմ ստուգում էլ-նամակի տեքստի դաշտը: Իմ կողմից օգտագործվող սովորական արտահայտությունը հեշտությամբ փոփոխվում է ՝ հաստատելու համար հեռախոսահամարները, փոստային կոդերը, SSN- ները և այլն:
Իմ բլոգի գրառումը գտնվում է http://timarcher.com/?q=node/36
Լավ գրեք Doug!
Համաձայն եմ Գաղտնաբառերը իսկապես կարևոր են և պետք է լուրջ վերաբերվել դրանց: Կարծում եմ, որ գրեթե բոլոր ձևերի համար գաղտնաբառ երկու անգամ մուտքագրելը միայն նորմալ է, բայց երկու գաղտնաբառերի վավերությունը ցույց չտալը ցույց է տալիս, որ այն լրջորեն չի դիտարկվում:
Համաձայն եմ, որ հաճախորդի վավերացումը կարող է լինել շատ օգտագործողի համար հարմար հատկություն: Այնուամենայնիվ, ավելի կարևոր է համոզվել, որ վավերացումներն իրականում իմաստ ունեն:
Դուք փայլուն օրինակ եք բերել, թե ինչպես վավերացումը կարող է ապակողմնորոշել օգտվողներին և, որ ավելի վատ է, նրանց հեռացնել մեր կայքից:
Geek Wisdom- ի գաղտնաբառի ուժի վավերացումը հաշվի է առնում tZhKwnUmIss լինել թույլ գաղտնաբառ: Սա ոչ միայն կատարյալ ուժեղ գաղտնաբառ է, այլև կօգնի օտարել օգտվողներին, քանի որ այն նրանց կեղծ տպավորություն է ստեղծում այն մասին, որ այս գաղտնաբառի օգտագործմամբ ձեր կայք մուտք գործելը ինչ-որ կերպ անվստահ կլինի:
Շատ ավելի լավ կլինի (և ավելի դյուրին) պարզապես ակնարկել օգտվողներին, որ լավ գաղտնաբառը առնվազն վեց նիշ է և պետք է պարունակի և թվեր, և տառեր:
Այլ կասկածելի վավերացումներում ներառված են օգտագործողների անուններ, որոնք որոշակի նվազագույն երկարության կարիք ունեն կամ կարող են բացատներ չպարունակել: Ի՞նչ սխալ է օգտագործողների անունները X, ոն Դո, կամ նույնիսկ # *!? Ես կարող եմ դա կարգավորել:
Ես համաձայն եմ քեզ հետ. Որոշ ձևեր լավ տեսք ունեն, բայց դա լավ վավերացում չի առաջարկում: Անձնական տեղեկությունները տրվում են, և միայն պատշաճ է լուրջ վերաբերվել դրան, ինչպես ցանկացած բիզնեսի ձևաթուղթ:
Այո, ես եկել եմ այստեղ `օրինակ բերելով մի քանի օրինակ կոդ: Խնդրում ենք վերանվանել այս հաղորդագրության թեման:
Նրանց համար, ովքեր բաժանորդագրվել են այս հաղորդագրությանը, ես գտա կոկիկ գրադարան առցանց ՝ ձևի վավերացման համար կոչվում է LiveValidation:
Մի փոքր զվարճալի է թվում այն, որ դուք տեղադրում եք իրական ժամանակի ձևի վավերացման լավության մասին, և այնուամենայնիվ, գրառման ներքևում տեղադրված ձեր մեկնաբանության ձևը չի տալիս սրանցից ոչ մեկը
Ես գիտակցում եմ, որ դուք օգտագործում եք WordPress- ը ձեր մտքերը ինտերնետում բլոգերելու համար, բայց երևի նաև, որ ձեր քարոզածով զբաղվեք, այնքան էլ վատ գաղափար չէ: 🙂
Ի դեպ, լավ գրառում, նույնիսկ եթե ես անպայման համաձայն չեմ ձեր գրածների հետ:
Դո՛հ Դու ինձ կոտրեցիր, Ամանդա՛: Ես կցանկանայի, որ ժամանակ ունենայի ավելի լավ ձևափոխում կատարելու և այն WordPress- ում ինտեգրելու համար: Ինձ հատկապես դուր է գալիս Adobe Spry վավերացման շրջանակ և կցանկանայի, որ ինչ-որ մեկը ինտեգրեր այդ երկուսը:
Շնորհակալություն (Եվ ես միշտ գնահատում եմ, որ ցանկացած թեմայի վերաբերյալ կան բազմաթիվ կարծիքներ):
Doug