Hjemmeside » Webdesign » Intro til HTML5-begrensnings validering

    Intro til HTML5-begrensnings validering

    Interaktive nettsteder og applikasjoner kan ikke forestilles uten former som gjør det mulig for oss Koble til våre brukere, og til få dataene Vi trenger for å sikre jevne transaksjoner med dem. Vi trenger gyldig brukerinngang, men vi må anskaffe det på en slik måte ikke frustrerer våre brukere for mye.

    Mens vi kan forbedre brukervennligheten av våre skjemaer med smart utvalgte UX-designmønstre, har HTML5 også en innfødt mekanisme for begrensningsvalidering som tillater oss å få innspillingsfeil rett foran.

    I dette innlegget vil vi fokusere på nettleser-gitt begrensning validering, og se på hvordan frontend utviklere kan sikre gyldig brukerinngang ved hjelp av HTML5.

    Hvorfor trenger vi inngangs validering på forhånd

    Input validering har to hovedmål. Innholdet vi får må være:

    1. Nyttig

    Vi trenger brukbare data vi kan jobbe med. Vi må få folk til å skrive inn realistiske data i riktig format. For eksempel er ingen som lever i dag født for 200 år siden. Å få data som dette kan virke morsomt først, men på lang sikt er det irriterende og fyller databasen med ubrukelige data.

    2. Sikre

    Når det gjelder sikkerhet, betyr dette at vi må hindre injeksjon av skadelig innhold - enten bevisst eller ved et uhell.

    Nyttig (å få fornuftige data) kan oppnås bare på klientsiden, Backend-teamet kan ikke hjelpe for mye med dette. Å oppnå sikkerhet, Front- og backend-utviklere trenger å jobbe sammen.

    Hvis frontend utviklere korrekt validerer innspill på klientsiden, vil backend-teamet må håndtere mye mindre sårbarheter. Hacking (et nettsted) innebærer ofte sender inn ekstra data, eller data i feil format. Utviklere kan bekjempe sikkerhetshull som disse, lykkes med å kjempe fra fronten.

    For eksempel anbefaler denne PHP-sikkerhetsguiden å sjekke alt vi kan på klientsiden. De legger vekt på viktigheten av inngangsvalidering av frontend ved å gi mange eksempler, for eksempel:

    "Input validering fungerer best med ekstremt begrensede verdier, for eksempel når noe må være et heltall, eller en alfanumerisk streng eller en HTTP-URL."

    I frontend inngangsvalidering er vår jobb til pålegge rimelige begrensninger på brukerinngang. HTML5s begrensningsvalideringsfunksjon gir oss muligheten til å gjøre det.

    HTML5-begrensnings validering

    Før HTML5 ble frontend utviklere begrenset til validering av brukerinngang med JavaScript, som var en kjedelig og feiltakelig prosess. For å forbedre validering av klientsiden, har HTML5 introdusert en begrensning validering algoritmen som kjører i moderne nettlesere, og sjekker gyldigheten av den innsendte innsatsen.

    For å gjøre evalueringen bruker algoritmen valideringsrelaterte attributter av inngangselementer, som for eksempel ,

    De maks lengde Egenskap returnerer ikke en feilmelding, men nettleseren lar ikke brukerne skrive mer enn det angitte tegnnummeret. Derfor er det viktig å informere brukerne om begrensningen, ellers forstår de ikke hvorfor de ikke kan fortsette med å skrive.

    4. mønster for Regex validering

    De mønster attributt tillate oss å bruk vanlige uttrykk i vår inngangsvalideringsprosess. Et vanlig uttrykk er a forhåndsdefinert sett med tegn som danner et visst mønster. Vi kan bruke den til å søke etter strenger som følger mønsteret, eller for å håndheve et bestemt format definert av mønsteret.

    Med mønster attributt vi kan gjøre sistnevnte - begrense brukere til å sende inn sine innspill i et format som samsvarer med det gjeldende regulære uttrykket.

    De mønster Attributt har mange brukstilfeller, men det kan være spesielt nyttig når vi vil validere et passordfelt.

    Eksempelet nedenfor krever at brukerne oppgir et passord som er minst 8 tegn langt, og inneholder minst ett brev og ett nummer (kilde til regex jeg brukte).

     

    Noen flere ting

    I denne artikkelen tok vi en titt på hvordan å gjøre bruk av formular validering av nettleser levert av HTML5s nasjonale begrensningsvalideringsalgoritme. For å lage våre egendefinerte valideringsskript, må vi bruke Begrensningsvaliderings-API som kan være neste trinn i validering av raffinering.

    HTML5-skjemaer er tilgjengelige med hjelpeteknologi, så vi trenger ikke nødvendigvis å bruke aria-krevde ARIA-attributt for å markere nødvendige inntastingsfelt for skjermlesere. Men det kan fortsatt være nyttig å legge til tilgjengelighetsstøtte for eldre nettlesere. Det er også mulig å Ikke bruk begrensningsvalidering ved å legge til novalidate boolesk attributt til

    element.