Pagrindinis » Interneto svetainės dizainas » Intro į HTML5 suvaržymo patvirtinimą

    Intro į HTML5 suvaržymo patvirtinimą

    Interaktyvių svetainių ir programų negalima įsivaizduoti be formų, kurios leistų mums susisiekite su mūsų naudotojais, ir gauti duomenis mums reikia, kad būtų užtikrintas sklandus sandoris su jais. Mums reikia galiojantis naudotojo įvestis, tačiau mes turime tai įgyti tokiu būdu netrukdo mūsų vartotojai per daug.

    Nors galime patobulinti mūsų formų naudingumą išmaniai pasirinktais UX dizaino modeliais, HTML5 taip pat turi vietinį suvaržymo patvirtinimo mechanizmą, kuris leidžia mums sugauti įvesties klaidas tiesiai į priekį.

    Šiame pranešime daugiausia dėmesio skirsime naršyklės pateikto suvaržymo patvirtinimas, ir pažiūrėkite, kaip gali „frontend“ kūrėjai saugi vartotojo įvestis naudojant HTML5.

    Kodėl mums reikia Front-End Input Validation

    Įvesties patvirtinimas turi du pagrindinius tikslus. Turimas turinys turi būti:

    1. Naudinga

    Mums reikia naudingi duomenys, su kuriais galime dirbti. Turime įvesti žmones realistiškus duomenis tinkamu formatu. Pavyzdžiui, niekas, kuris šiandien gyvas, gimė prieš 200 metų. Kaip gauti tokius duomenis, iš pradžių gali atrodyti juokinga, bet ilgainiui tai erzina, o mūsų duomenų bazėje gyvena nenaudingi duomenys.

    2. Saugoma

    Kalbant apie saugumą, tai reiškia, kad turime užkirsti kelią kenkėjiškam turiniui - tyčia ar atsitiktinai.

    Galima pasiekti naudingumą (gauti pagrįstus duomenis) tik kliento pusėje, „backend“ komanda negali padėti per daug. Norėdami pasiekti saugumą, priekiniai ir „backend“ kūrėjai turi dirbti kartu.

    Jei Frontend kūrėjai tinkamai patvirtina įvestį kliento pusėje, „backend“ komanda turės susidoroti su daug mažiau pažeidžiamumu. Daužimas (svetainė) dažnai reiškia pateikti papildomus duomenis, arba netinkamo formato duomenys. Kūrėjai gali kovoti su tokiomis saugumo skylėmis, sėkmingai kovoti nuo priekinės dalies.

    Pavyzdžiui, šis PHP saugos vadovas rekomenduoja patikrinti viską, ką galime kliento pusėje. Jie pabrėžia, kaip svarbu, kad įvesties įvedimas būtų patvirtintas daugeliu pavyzdžių, pavyzdžiui:

    „Įvesties patvirtinimas geriausiai veikia su labai ribotomis reikšmėmis, pvz., Kai kažkas turi būti sveikasis skaičius, arba raidinė skaitmeninė eilutė arba HTTP URL.“

    Frontend įvesties patvirtinime mūsų užduotis yra nustatyti pagrįstus suvaržymus vartotojo įvesties. HTML5 apribojimo patvirtinimo funkcija suteikia mums galimybę tai padaryti.

    HTML5 apribojimų patvirtinimas

    Prieš HTML5, „Frontend“ kūrėjai apsiribojo vartotojo įvesties patvirtinimas su „JavaScript“, kuris buvo varginantis ir klaidingas procesas. Norėdami pagerinti kliento pusės formos patvirtinimą, HTML5 įdiegė a apribojimo patvirtinimas algoritmas, kuris veikia šiuolaikinėse naršyklėse, ir. \ t patikrina pateiktos informacijos teisingumą.

    Įvertinimui atlikti algoritmas naudoja su įėjimu susijusių elementų atributai, toks kaip ,

    The Didžiausias ilgis atributas nepateikia klaidos pranešimo, tačiau naršyklė paprasčiausiai neleidžia vartotojams įvesti daugiau nei nurodytas simbolių skaičius. Štai kodėl tai labai svarbu informuoti vartotojus apie suvaržymą, kitaip jie nesupranta, kodėl jie negali toliau rašyti.

    4. modelį už „Regex“ patvirtinimą

    The modelį atributas leidžia mums naudoti reguliarias išraiškas mūsų įvesties patvirtinimo procese. Įprastinė išraiška yra a iš anksto nustatytą simbolių rinkinį tai sudaro tam tikrą modelį. Mes galime jį naudoti ieškodami eilutes, kurios seka modelį, arba tam tikrą modelio nustatytą formatą.

    Su modelį atributas, kurį galime padaryti pastarąjį - apriboti vartotojus pateikti savo įvestį tokiu formatu atitinka įprastą išraišką.

    The modelį atributas turi daug naudos atvejų, tačiau jis gali būti ypač naudingas, kai norime patvirtinti slaptažodžio lauką.

    Toliau pateiktame pavyzdyje reikalaujama, kad naudotojai įvestų slaptažodį, kuris yra mažiausiai 8 simboliai, ir turi bent vieną raidę ir vieną numerį (naudojamo regex šaltinis).

     

    Dar keletas dalykų

    Šiame straipsnyje mes apžvelgėme, kaip pasinaudoti pateikiamas naršyklės formos patvirtinimas pateikiamas HTML5 gimtojo suvaržymo patvirtinimo algoritmas. Kad galėtume sukurti priskirtus patvirtinimo scenarijus, turime naudoti apribojimo patvirtinimo API, kuri gali būti kitas žingsnis tobulinant formų patvirtinimo įgūdžius.

    HTML5 formos yra prieinamos pagalbinėmis technologijomis, todėl nebūtinai turime naudoti arija ARIA atributas, skirtas pažymėti reikiamus ekrano skaitytuvų įvesties laukus. Tačiau vis dar gali būti naudinga pridėti prieinamumo palaikymą senesnėms naršyklėms. Tai taip pat įmanoma atsisakyti apribojimų patvirtinimo pridedant novalidatas Būlio atributas

    elementas.