0Pricing
React Academy · Pelajaran

Aturan Validasi & Pesan Kesalahan

Terapkan aturan validasi bawaan (required, minLength, pattern) dan tampilkan pesan kesalahan.

Aturan Validasi & Pesan Kesalahan adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Selamat Datang

Dalam pelajaran ini, Anda akan menambahkan aturan validasi bawaan ke kolom React Hook Form dan menampilkan pesan kesalahan yang mudah dipahami pengguna di bawah setiap masukan.

Aturan Validasi Bawaan

Berikan objek aturan sebagai argumen kedua untuk register(). Aturan bawaan meliputi: `required`, `minLength`, `maxLength`, `min`, `max`, `pattern`, dan `validate`.
<input
  {...register('email', {
    required: 'Email is required',
    pattern: {
      value: /^[^@]+@[^@]+\.[^@]+$/,
      message: 'Invalid email address',
    },
  })}
/>

Kolom Wajib Diisi

Tetapkan `required` ke sebuah teks untuk menjadikan kolom wajib diisi. Teks tersebut menjadi pesan kesalahan. Jika ditetapkan ke `true`, pesan umum akan digunakan.
register('name', { required: 'Name is required' })
// or
register('name', { required: true })

Batas Panjang

Gunakan `minLength` dan `maxLength` dengan objek `{ value, message }` untuk menetapkan batas karakter dan pesan kesalahan khusus.
register('username', {
  minLength: { value: 3, message: 'At least 3 characters' },
  maxLength: { value: 20, message: 'At most 20 characters' },
})

Validasi Pola

Aturan `pattern` menerima nilai RegExp. Gunakan aturan ini untuk memvalidasi format email, nomor telepon, atau pola teks apa pun.
register('phone', {
  pattern: {
    value: /^[0-9]{10,11}$/,
    message: 'Enter a valid phone number',
  },
})

Menampilkan Kesalahan

Baca objek `errors` dari formState. Setiap kolom yang gagal divalidasi memiliki entri dengan properti `message`. Tampilkan pesan tersebut secara kondisional di bawah masukan.
const { register, handleSubmit, formState: { errors } } = useForm();

<input {...register('email', { required: 'Required' })} />
{errors.email && <p className="error">{errors.email.message}</p>}

Validasi Khusus dengan validate

Aturan `validate` menerima fungsi yang mengembalikan `true` untuk nilai yang valid atau teks kesalahan untuk nilai yang tidak valid. Gunakan aturan ini untuk logika bisnis yang tidak dapat dinyatakan oleh aturan bawaan.
register('age', {
  validate: value =>
    parseInt(value) >= 18 || 'You must be at least 18',
})

Beberapa Validator Khusus

Berikan objek validator bernama ke `validate` untuk menjalankan beberapa pemeriksaan khusus pada kolom yang sama.
register('password', {
  validate: {
    hasUpper: v => /[A-Z]/.test(v) || 'Needs uppercase',
    hasDigit: v => /[0-9]/.test(v) || 'Needs a number',
  }
})

Menampilkan Jumlah Kesalahan

Hitung total kesalahan untuk mengaktifkan atau menonaktifkan tombol kirim, atau untuk menampilkan ringkasan. Gunakan Object.keys(errors).length.
const hasErrors = Object.keys(errors).length > 0;
<button type="submit" disabled={hasErrors}>Submit</button>

Memberi Gaya pada Masukan yang Salah

Terapkan kelas CSS ke masukan yang memiliki kesalahan untuk menghasilkan efek batas merah secara visual. Periksa errors[fieldName] untuk menerapkan kelas tersebut secara kondisional.
<input
  {...register('email', { required: true })}
  className={errors.email ? 'input-error' : ''}
/>

Pemeriksaan Singkat

Bagaimana cara menampilkan pesan kesalahan untuk kolom bernama 'email' dalam React Hook Form?

Ringkasan

Tambahkan aturan validasi sebagai argumen kedua untuk register(): required, minLength, maxLength, pattern, min, max, dan validate. Baca errors[fieldName].message dari formState untuk menampilkan pesan.

Selanjutnya

Pelajaran berikutnya: **Validasi Skema dengan Zod** — Anda akan mengintegrasikan @hookform/resolvers dan skema Zod untuk validasi formulir yang aman secara tipe.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Aturan Validasi & Pesan Kesalahan” gratis?

Ya — teks lengkap “Aturan Validasi & Pesan Kesalahan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Aturan Validasi & Pesan Kesalahan”?

Terapkan aturan validasi bawaan (required, minLength, pattern) dan tampilkan pesan kesalahan. Kamu berlatih React 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 React Academy?

Tidak diperlukan pengalaman sebelumnya. React 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 2 dari 4.

Berapa lama pelajaran “Aturan Validasi & Pesan Kesalahan” 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 React Academy ini?

Ya. Setiap pelajaran React 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. Memulai dengan React Hook Form
  2. Aturan Validasi & Pesan Kesalahan
  3. Validasi Skema dengan Zod
  4. Field Dinamis dengan useFieldArray
← Kembali ke React Academy