Laman » Reka Bentuk Web » Pengenalan Ke Pengesahan Masalah HTML5

    Pengenalan Ke Pengesahan Masalah HTML5

    Laman web dan aplikasi interaktif tidak boleh dibayangkan tanpa borang yang membolehkan kami berhubung dengan pengguna kami, dan kepada dapatkan data kami perlukan untuk memastikan transaksi lancar dengan mereka. Kita perlukan input pengguna yang sah, namun kita perlu memperolehnya dengan cara itu tidak mengecewakan pengguna kami terlalu banyak.

    Walaupun kami boleh meningkatkan kebolehgunaan borang kami dengan corak reka bentuk UX yang bijak, HTML5 juga mempunyai mekanisme asli untuk pengesahan kekangan yang membolehkan kami tangkapkan kesilapan input tepat di bahagian hadapan.

    Dalam siaran ini, kami akan memberi tumpuan pengesahan kekangan dibekal pelayar, dan lihat bagaimana pemaju frontend boleh input pengguna sah yang selamat menggunakan HTML5.

    Kenapa Kami Perlu Pengesahan Input Front-End

    Pengesahan input mempunyai dua matlamat utama. Kandungan yang kami dapat:

    1. Berguna

    Kita perlu data boleh guna yang boleh kita bekerjasama. Kita perlu membuat orang masuk data realistik dalam format yang betul. Sebagai contoh, tiada siapa yang hidup hari ini dilahirkan 200 tahun lalu. Mendapatkan data seperti ini mungkin kelihatan lucu pada mulanya, tetapi pada jangka panjang ia menjengkelkan, dan memaparkan pangkalan data kami dengan data tidak berguna.

    2. Selamat

    Apabila merujuk kepada keselamatan, ini bermakna kita perlu mengelakkan suntikan kandungan berniat jahat - sama ada sengaja atau secara tidak sengaja.

    Kegunaan (mendapatkan data yang munasabah) dapat dicapai hanya pada sisi pelanggan, pasukan backend tidak boleh membantu terlalu banyak dengan ini. Untuk mencapai keselamatan, pemaju depan dan belakang perlu bekerjasama.

    Jika pemaju frontend betul mengesahkan input pada sisi pelanggan, pasukan backend perlu berurusan dengan kurang kerentanan. Hacking (tapak) sering melibatkan mengemukakan data tambahan, atau data dalam format yang salah. Pemaju boleh melawan lubang keselamatan seperti ini, berjaya melawan dari front-end.

    Sebagai contoh, panduan keselamatan PHP ini mengesyorkan untuk memeriksa segala yang kami dapat di sisi klien. Mereka menekankan kepentingan pengesahan masukan frontend dengan memberikan banyak contoh, seperti:

    "Pengesahan input berfungsi dengan baik dengan nilai yang sangat terhad, contohnya apabila sesuatu harus menjadi integer, atau rentetan alfanumerik, atau URL HTTP."

    Dalam pengesahan masukan frontend, tugas kami adalah untuk mengenakan kekangan yang munasabah pada input pengguna. Ciri pengesahan kekangan HTML5 memberi kami cara untuk berbuat demikian.

    Pengesahan Masalah HTML5

    Sebelum HTML5, pembangun frontend terhad kepada mengesahkan input pengguna dengan JavaScript, yang merupakan proses membebankan dan membazirkan kesilapan. Untuk meningkatkan pengesahan bentuk sisi pelanggan, HTML5 telah memperkenalkan a pengesahan kekangan algoritma yang berjalan di pelayar moden, dan memeriksa kesahihan input yang dikemukakan.

    Untuk membuat penilaian, algoritma menggunakan atribut yang berkaitan dengan pengesahan unsur input, seperti ,

    The panjang maksimum atribut tidak mengembalikan mesej ralat, tetapi penyemak imbas semata-mata tidak membenarkan pengguna menaip lebih daripada nombor aksara yang ditentukan. Itulah sebabnya ia sangat penting memaklumkan pengguna tentang kekangan tersebut, jika tidak, mereka tidak akan faham mengapa mereka tidak boleh meneruskan dengan menaip.

    4. corak untuk pengesahan Regex

    The corak atribut membenarkan kami gunakan Ekspresi Biasa dalam proses pengesahan input kami. Ungkapan biasa adalah a set aksara yang telah ditetapkan sebelumnya yang membentuk corak tertentu. Kita boleh menggunakannya sama ada untuk mencari rentetan yang mengikuti corak, atau untuk menguatkuasakan format tertentu yang ditakrifkan oleh corak.

    Dengan corak atribut kita boleh melakukan yang kedua - menghalang pengguna untuk menghantar input mereka dalam format itu sepadan dengan ungkapan biasa yang diberikan.

    The corak atribut mempunyai banyak kes penggunaan, tetapi ia boleh menjadi sangat berguna apabila kita mahu mengesahkan medan kata laluan.

    Contoh di bawah memerlukan pengguna untuk memasukkan kata laluan yang minimum 8 aksara panjang, dan mengandungi sekurang-kurangnya satu huruf dan satu nombor (sumber regex yang saya gunakan).

     

    Beberapa perkara lagi

    Dalam artikel ini, kita melihat cara menggunakannya pengesahan borang yang disediakan oleh penyemak imbas disediakan oleh algoritma pengesahan kekangan asal HTML5. Untuk mewujudkan skrip pengesahan tersuai kami, kami perlu menggunakan API Pengesahan Masalah yang boleh menjadi langkah seterusnya dalam menapis kemahiran pengesahan bentuk.

    Borang HTML5 boleh diakses oleh teknologi bantuan, jadi kami tidak perlu menggunakannya aria-diperlukan Atribut ARIA untuk menandakan medan input yang diperlukan untuk pembaca skrin. Walau bagaimanapun, ia masih berguna untuk menambah sokongan kebolehaksesan untuk penyemak imbas yang lebih lama. Ia juga mungkin untuk memilih daripada pengesahan kekangan dengan menambah novalidate atribut boolean kepada

    elemen.