Homepage » Web design » Introduzione alla convalida del vincolo HTML5

    Introduzione alla convalida del vincolo HTML5

    I siti Web e le applicazioni interattive non possono essere immaginati senza moduli che ci consentano di farlo connettersi con i nostri utenti, e a ottenere i dati abbiamo bisogno per garantire transazioni regolari con loro. Abbiamo bisogno input utente valido, tuttavia abbiamo bisogno di acquisirlo in un modo che non è frustrante i nostri utenti troppo.

    Mentre possiamo migliorare l'usabilità dei nostri moduli con modelli di progettazione UX scelti in modo intelligente, HTML5 ha anche un meccanismo nativo per la convalida dei vincoli che ci consente di cattura gli errori di input direttamente nel front-end.

    In questo post, ci concentreremo su convalida del vincolo fornita dal browser, e guarda in che modo gli sviluppatori di frontend possono farlo sicuro input utente valido usando HTML5.

    Perché abbiamo bisogno della convalida dell'input del front-end

    Convalida dell'input ha due obiettivi principali. Il contenuto che otteniamo deve essere:

    1. Utile

    Abbiamo bisogno dati utilizzabili con cui possiamo lavorare. Dobbiamo far entrare le persone dati realistici nel formato giusto. Ad esempio, nessuno che è vivo oggi è nato 200 anni fa. Ottenere dati come questo può sembrare strano all'inizio, ma a lungo termine è fastidioso e popola il nostro database con dati inutili.

    2. Sicuro

    Quando ci si riferisce alla sicurezza, questo significa che è necessario impedire l'iniezione di contenuti dannosi - sia intenzionale che per caso.

    Utilità (ottenendo dati ragionevoli) può essere raggiunta solo dal lato client, la squadra di back-end non può aiutare troppo con questo. Per raggiungere sicurezza, gli sviluppatori front e back-end devono collaborare.

    Se gli sviluppatori di frontend validano correttamente input sul lato client, il il team di back-end dovrà affrontare molte meno vulnerabilità. L'hacking (un sito) spesso comporta invio di dati aggiuntivi, o dati nel formato sbagliato. Gli sviluppatori possono combattere buche di sicurezza come queste, combattere con successo dal front-end.

    Ad esempio, questa guida alla sicurezza di PHP consiglia di controllare tutto ciò che possiamo dal lato client. Sottolineano l'importanza della convalida dell'input di frontend fornendo molti esempi, come ad esempio:

    "La convalida dell'input funziona meglio con valori estremamente limitati, ad esempio quando qualcosa deve essere un numero intero o una stringa alfanumerica o un URL HTTP."

    Nella convalida dell'input del frontend, il nostro compito è quello di imporre limiti ragionevoli sull'input dell'utente. La funzione di convalida dei vincoli di HTML5 ci fornisce i mezzi per farlo.

    Convalida vincoli HTML5

    Prima di HTML5, gli sviluppatori di frontend erano limitati a convalida dell'input dell'utente con JavaScript, che era un processo noioso e soggetto a errori. Per migliorare la convalida dei moduli lato client, HTML5 ha introdotto a convalida dei vincoli algoritmo che viene eseguito nei browser moderni e controlla la validità dell'input presentato.

    Per fare la valutazione, l'algoritmo usa il attributi relativi alla validazione degli elementi di input, ad esempio ,

    Il lunghezza massima attributo non restituisce un messaggio di errore, ma il browser semplicemente non consente agli utenti di digitare più del numero di caratteri specificato. Ecco perché è fondamentale informare gli utenti del vincolo, altrimenti non capiranno perché non possono continuare con la digitazione.

    4. modello per la convalida del Regex

    Il modello attributo ci permettono di usa le espressioni regolari nel nostro processo di convalida dell'input. Un'espressione regolare è a set predefinito di caratteri che formano un certo schema. Possiamo usarlo sia per cercare stringhe che seguono lo schema, sia per far rispettare un determinato formato definito dal pattern.

    Con il modello attributo possiamo fare il secondo - costringere gli utenti a inviare i loro input in un formato che corrisponde all'espressione regolare data.

    Il modello l'attributo ha molti casi d'uso, ma può essere particolarmente utile quando vogliamo convalidare un campo password.

    L'esempio seguente richiede agli utenti di inserire una password di almeno 8 caratteri e che contenga almeno una lettera e un numero (fonte della regex che ho usato).

     

    Ancora un paio di cose

    In questo articolo, abbiamo visto come utilizzare il convalida del modulo fornita dal browser fornito dall'algoritmo di convalida del vincolo nativo di HTML5. Per creare i nostri script di convalida personalizzati, è necessario utilizzare l'API Convalida convalida che può essere il prossimo passo per perfezionare le competenze di convalida dei moduli.

    I moduli HTML5 sono accessibili tramite tecnologie assistive, quindi non dobbiamo necessariamente usare il Aria-required Attributo ARIA per contrassegnare i campi di input richiesti per gli screen reader. Tuttavia può essere ancora utile aggiungere il supporto dell'accessibilità per i browser più vecchi. È anche possibile disattivare la convalida dei vincoli aggiungendo il novalidate attributo booleano al

    elemento.