Kotak text menerima apa saja — termasuk isian yang seharusnya alamat email tetapi ternyata tulisan acak. Dua tipe input berikut menutup celah itu: email dan url memvalidasi format isian secara bawaan, tanpa JavaScript dan tanpa atribut tambahan. Keduanya sudah Baseline di seluruh browser modern.
Bonus kecil yang sering luput: di ponsel, email memunculkan tombol @ langsung pada keyboard layar — kenyamanan yang tak ternilai untuk form yang mengisi cepat.
type email #
Aturannya: type="email" menghasilkan kotak khusus alamat email. Mekanismenya: saat form dikirim, browser memeriksa format isian — harus memuat @ dan domain yang masuk akal, misalnya [email protected]. Isian yang gagal diperiksa memunculkan pesan galat dan submit ditahan. Kotak ini juga menjadi kandidat isi-otomatis email oleh browser.
Atribut multiple melonggarkan satu kotak menjadi beberapa alamat sekaligus — dipisah tanda koma:
<input type="email" id="kawan" name="kawan" multiple>Pengguna dapat mengisi [email protected], [email protected] dan keduanya diperiksa formatnya satu per satu.
type url #
Aturannya: type="url" meminta alamat situs. Mekanismenya: saat form dikirim, browser memeriksa bahwa isian berbentuk URL yang sah — memuat skema seperti https://kedai.example.com. Isian tanpa skema, misalnya kedai.example.com saja, dianggap tidak sah pada banyak browser; tuliskan skemanya secara lengkap.
Contoh: Form Kontak #
Form kontak untuk menghubungi pengelola kelas kopi:
<form action="/kontak" method="post">
<label for="surel">Alamat email pengirim</label>
<input type="email" id="surel" name="surel" required>
<label for="situs">Alamat situs (opsional)</label>
<input type="url" id="situs" name="situs" placeholder="https://kedai.example.com">
<label for="kawan">Email teman yang diundang</label>
<input type="email" id="kawan" name="kawan" multiple>
<button type="submit">Kirim</button>
</form>Data yang terkirim ketika Budi mengisi email dan satu teman, tanpa situs:
surel=budi%40example.com&situs=&kawan=dewi%40example.comCoba mengirim nilai yang sengaja salah: isi email tanpa @ — misalnya budi-example.com — lalu tekan Kirim; bubble galat format email muncul dan form ditahan. Setelah email diperbaiki, isi kotak situs dengan kedai.example.com polos tanpa skema: kotak url ikut menolaknya.
Pada demo, action diarahkan ke https://example.com/kontak — domain cadangan resmi — dan skrip kecil menahan perpindahan supaya pasangan name=value yang terkirim terlihat di halaman, persis kiriman yang diterima server; markup formnya sama persis dengan contoh di atas.
Mari kita telaah kode dan hasilnya:
- Baris 3 (
type="email" required): submit ditahan bila format salah atau kotak kosong — pesan galat bawaan browser yang muncul. - Baris 5 (
type="url"tanparequired): kotak opsional — dibiarkan kosong tetap sah, dan nilai kosongnya tetap terkirim sebagaisitus=. - Baris 7 (
multiple): satu kotak menampung beberapa alamat dipisah koma; setiap alamat diperiksa formatnya. %40pada hasil: tanda@dienkode saat pengiriman — sama seperti pada chapter sebelumnya.
Ringkasan #
emailmemvalidasi format alamat dan memunculkan tombol@di keyboard ponsel.urlmemvalidasi format URL, termasuk skema sepertihttps://.multiplememungkinkan beberapa email dalam satu kotak, dipisah koma.- Validasi browser menyaring format; kebenaran alamat tetap diverifikasi di server.
Chapter berikutnya pindah ke angka: kotak isian presisi dan slider range.