Pencarian

Jumat, 28 Februari 2025

pseudo-class CSS Validasi Form

 Ada beberapa pseudo-class CSS yang berkaitan dengan validasi form. Berikut penjelasan lengkapnya:

 1. :valid

Menargetkan elemen input yang valid berdasarkan aturan HTML.
📌 Digunakan untuk menandai input yang benar.

input:valid {

  border: 1px solid green;

}

Hasilnya: Jika input memenuhi syarat (misalnya panjang minimal), border berubah hijau.

2. :invalid

Menargetkan elemen input yang tidak valid.
📌 Langsung aktif sejak awal jika input kosong & required.

input:invalid {

  border: 1px solid red;

}

Masalah: Semua input kosong akan langsung merah meskipun pengguna belum mengetik.

3. :user-valid (🔄 Mirip :valid, tetapi lebih user-friendly)

Menargetkan input yang valid setelah pengguna mulai mengetik.

input:user-valid {
  border: 1px solid green;
}

Bedanya dengan :valid: Tidak langsung hijau saat halaman dimuat. Baru berubah setelah pengguna mengisi input dengan benar.

4. :user-invalid (🔄 Mirip :invalid, tetapi lebih user-friendly)

Menargetkan input yang tidak valid setelah pengguna mengetik dan keluar dari input.

input:user-invalid {

  border: 1px solid red;

}

Bedanya dengan :invalid: Tidak langsung merah dari awal, baru muncul setelah pengguna berinteraksi dengan input.

5. :optional

Menargetkan input yang tidak memiliki atribut required, alias opsional.

input:optional {

  border: 1px solid blue;

}

Hasilnya: Input yang tidak wajib diisi akan diberi border biru.

6. :required

Menargetkan input yang memiliki atribut required.


input:required {
  border: 1px solid orange;
}

Hasilnya: Semua input yang wajib diisi akan memiliki border oranye.

7. :focus

Menargetkan input yang sedang aktif diketik oleh pengguna.

input:focus {

  outline: 2px solid blue;

}

Hasilnya: Saat pengguna mengklik atau mengetik di input, outline biru akan muncul.

8. :placeholder-shown

Menargetkan input yang placeholder-nya masih terlihat (belum diisi).

input:placeholder-shown {

  background-color: lightgray;

}

Hasilnya: Selama input masih kosong dan placeholder masih terlihat, latar belakang berubah abu-abu.

Contoh Lengkap

input:valid {
  border: 2px solid green;
}

input:invalid {
  border: 2px solid red;
}

input:user-valid {
  background-color: lightgreen;
}

input:user-invalid {
  background-color: pink;
}

input:focus {
  outline: 2px solid blue;
}

input:placeholder-shown {
  background-color: lightgray;
}

© 2015 [BUG] GEDEBUG All Rights Reserved.