HTML Academy · Pelajaran

required pattern min max dan maxlength

Tambahkan batasan validasi bawaan ke input formulir.

Pelajaran 1 dari 414 langkah

required pattern min max dan maxlength adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.

Validasi Formulir HTML5

HTML5 menambahkan validasi formulir bawaan — JavaScript tidak diperlukan:

  • Peramban memeriksa batasan sebelum mengirimkan formulir
  • Pesan kesalahan bawaan muncul secara otomatis
  • Berfungsi dengan pseudo-class CSS :valid / :invalid

required

Atribut required mencegah pengiriman jika bidang kosong:

<label for="email">Email (required)</label>
<input type="email" id="email" name="email" required>
<!-- Empty on submit → browser shows "Please fill in this field" -->
<!-- Also: field is :invalid until filled -->

pattern

Atribut pattern memvalidasi teks terhadap ekspresi reguler:

<label for="username">Username (letters and numbers only)</label>
<input
  type="text"
  id="username"
  name="username"
  pattern="[a-zA-Z0-9]{3,20}"
  title="3-20 letters and numbers"
>
<!-- pattern anchored at both ends automatically -->
<!-- title provides the error message hint -->

Contoh pattern Umum

Pola ekspresi reguler yang berguna untuk bidang formulir:

<!-- Phone: digits, spaces, hyphens -->
<input type="tel" pattern="[0-9 ()+-]{7,20}">

<!-- Postal code: US zip code -->
<input type="text" pattern="[0-9]{5}(-[0-9]{4})?">

<!-- Password: min 8 chars, one uppercase, one digit -->
<input type="password" pattern="(?=.*[A-Z])(?=.*[0-9]).{8,}">

<!-- Twitter handle: -->
<input type="text" pattern="@?[A-Za-z0-9_]{1,15}">

min dan max

Batasi masukan angka, tanggal, dan rentang:

<!-- Number range -->
<input type="number" name="qty" min="1" max="100">

<!-- Date range -->
<input type="date" name="checkin" min="2025-01-01" max="2025-12-31">

<!-- Range slider -->
<input type="range" name="volume" min="0" max="100" step="5">

<!-- Time -->
<input type="time" name="meeting" min="09:00" max="17:00">

maxlength dan minlength

Atur panjang masukan teks:

<input type="text" name="username" minlength="3" maxlength="20">
<!-- minlength: minimum number of characters required -->
<!-- maxlength: maximum characters allowed (browser enforces hard stop) -->

<textarea name="bio" minlength="50" maxlength="500"></textarea>
<!-- Same attributes work on textarea -->

step

Atribut step menentukan kenaikan yang valid untuk masukan angka dan rentang:

<input type="number" name="price" min="0" step="0.01">
<!-- Accepts decimal prices: 0.00, 0.01, 4.99, etc. -->

<input type="number" name="qty" min="0" step="5">
<!-- Only multiples of 5: 0, 5, 10, 15... -->

<input type="range" min="0" max="100" step="10">
<!-- Snaps to: 0, 10, 20, ..., 100 -->

CSS :valid dan :invalid

Atur gaya bidang berdasarkan status validasinya:

input:valid {
  border-color: #22c55e;   /* green when valid */
}

input:invalid {
  border-color: #ef4444;   /* red when invalid */
}

/* Avoid showing :invalid on page load (before user interaction): */
input:not(:placeholder-shown):invalid {
  border-color: #ef4444;
}
/* Only show invalid style after user has typed something */

title untuk Pesan Kesalahan Kustom

Atribut title memberikan petunjuk dalam kesalahan validasi peramban:

<input
  type="text"
  pattern="[A-Za-z]{2,3}"
  title="Enter a 2 or 3 letter country code (e.g. US, GB, DEU)"
  name="country-code"
>
<!-- Browser shows the title text alongside the default error message -->

Menggabungkan Batasan

Beberapa atribut validasi dapat bekerja bersama:

<input
  type="text"
  name="username"
  required
  minlength="3"
  maxlength="20"
  pattern="[a-z][a-z0-9_]*"
  title="Lowercase letters, numbers, underscores. Must start with a letter."
>
<!-- All constraints must pass for the field to be :valid -->

novalidate dan Waktu Validasi

Validasi dijalankan saat pengiriman secara bawaan. Untuk memvalidasi pada setiap peristiwa masukan:

<input type="email" id="email">

<script>
const input = document.getElementById('email');
input.addEventListener('blur', () => {
  // Check validity on blur (when user leaves field):
  if (!input.validity.valid) {
    input.reportValidity();
  }
});
</script>

Ringkasan Pseudo-class Validasi

Pseudo-class CSS untuk validasi formulir:

  • :valid — validasi batasan berhasil
  • :invalid — satu atau lebih batasan gagal
  • :required — memiliki atribut required
  • :optional — tidak memiliki required
  • :in-range — nilai berada dalam min/max
  • :out-of-range — nilai berada di luar min/max

Pemeriksaan Cepat

Atribut mana yang membatasi jumlah maksimum karakter dalam masukan teks?

Ringkasan: Atribut Validasi

Hal-hal penting tentang validasi HTML5:

  • required — bidang harus diisi
  • pattern — memvalidasi terhadap ekspresi reguler
  • min / max — batas nilai untuk angka/tanggal/rentang
  • maxlength / minlength — batas jumlah karakter
  • step — kenaikan yang valid
  • CSS :valid / :invalid untuk penataan
Gratis untuk memulai

Belajar HTML dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
40
Pelajaran
159

Pertanyaan yang Sering Diajukan

Apakah pelajaran “required pattern min max dan maxlength” gratis?

Ya — teks lengkap “required pattern min max dan maxlength” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “required pattern min max dan maxlength”?

Tambahkan batasan validasi bawaan ke input formulir. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai HTML Academy?

Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “required pattern min max dan maxlength” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?

Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. required pattern min max dan maxlength
  2. Atribut novalidate
  3. Dasar-Dasar Constraint Validation API
  4. Perbandingan Validasi HTML5 dan JavaScript
← Kembali ke HTML Academy