is_valid dan cleaned_data
Validasi masukan dan baca nilai yang sudah dibersihkan
is_valid dan cleaned_data adalah pelajaran Django 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 Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.
Ikat Data Terlebih Dahulu
Untuk melakukan validasi, buat formulir terikat dengan meneruskan data yang dikirim ke dalamnya. Hanya formulir terikat yang dapat divalidasi.
form = ContactForm(request.POST)Panggil is_valid()
is_valid() menjalankan validasi setiap field dan mengembalikan True hanya jika semuanya berhasil. Fungsi ini memicu seluruh proses pembersihan.
if form.is_valid():
handle(form)cleaned_data Muncul
Setelah is_valid() mengembalikan True, Django mengisi cleaned_data, yaitu dict berisi nilai yang telah divalidasi dan dikonversi tipenya, siap digunakan.
name = form.cleaned_data["name"]Nilai Dikonversi
Proses pembersihan juga mengonversi tipe. IntegerField memberikan int sungguhan, sedangkan DateField memberikan date Python, bukan string mentah.
age = form.cleaned_data["age"] # intError Dikumpulkan Otomatis
Jika validasi gagal, pesannya ditempatkan di form.errors, dengan kunci berupa nama field agar Anda dapat menampilkan setiap masalah dengan jelas.
if not form.is_valid():
print(form.errors)Metode clean Tingkat Field
Tambahkan metode bernama clean_field untuk memvalidasi satu field dan mengembalikan nilainya yang telah dibersihkan. Naikkan ValidationError untuk menolaknya.
def clean_name(self):
name = self.cleaned_data["name"]
return name.strip()Naikkan ValidationError
Di dalam metode clean, naikkan ValidationError dengan sebuah pesan untuk menolak nilai dan menambahkan error pada field tersebut.
if "@" not in email:
raise forms.ValidationError("Bad email")clean() untuk Seluruh Formulir
Timpa clean() untuk memvalidasi field terhadap satu sama lain, misalnya memastikan dua sandi cocok di seluruh formulir.
def clean(self):
cleaned = super().clean()
return cleanedPemeriksaan Antar-Field
Di dalam clean(), Anda dapat membaca beberapa kunci cleaned_data dan menaikkan error ketika kombinasinya tidak valid.
if start > end:
raise forms.ValidationError("Bad range")Urutan Pembersihan
Django menjalankan pembersihan field terlebih dahulu, lalu clean() untuk seluruh formulir. Jadi, clean() dapat mengandalkan nilai field yang sudah divalidasi.
Gunakan cleaned_data dengan Aman
Selalu baca input dari cleaned_data, bukan dari request.POST. Hanya cleaned_data yang berisi nilai yang sudah divalidasi, dikonversi, dan tepercaya.
email = form.cleaned_data["email"]Pemeriksaan Cepat
Uji pemahaman Anda tentang validasi.
Rangkuman
Ikat data, panggil is_valid(), lalu baca nilai tepercaya dari cleaned_data. Gunakan metode clean untuk menambahkan aturan Anda sendiri. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “is_valid dan cleaned_data” gratis?
Ya — teks lengkap “is_valid dan cleaned_data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “is_valid dan cleaned_data”?
Validasi masukan dan baca nilai yang sudah dibersihkan Kamu berlatih Django 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 Django Academy?
Tidak diperlukan pengalaman sebelumnya. Django 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 “is_valid dan cleaned_data” 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 Django Academy ini?
Ya. Setiap pelajaran Django 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
- Mendefinisikan forms.Form
- is_valid dan cleaned_data
- Merender Form dalam Template
- Perlindungan CSRF dan Alur POST