Install Web App

Yii

Belajar Framework Yii #06 | Model Yii : Validasi Data

profil-penulis

Robert Saputra

12 Juni 2023

Validasi data adalah langkah kunci dalam pengembangan aplikasi web untuk memastikan bahwa data yang masuk atau disimpan dalam basis data adalah data yang sah dan sesuai dengan aturan yang ditentukan. Yii Framework menyediakan cara yang kuat untuk membuat validasi data dengan menggunakan aturan model. Dalam artikel ini, kita akan membahas cara membuat validasi data dengan aturan model Yii.

Langkah 1: Membuat Model

Sebelum kita bisa membuat aturan validasi, kita perlu membuat model yang akan digunakan untuk mengakses dan memanipulasi data. Biasanya, model-model ini sudah dibuat menggunakan alat generasi kode Gii atau secara manual. Berikut adalah contoh model sederhana:

namespace app\models;

use yii\db\ActiveRecord;

class Post extends ActiveRecord
{
    public static function tableName()
    {
        return 'post';
    }

    // Definisi atribut-atribut model
    public $title;
    public $content;
}

Langkah 2: Menambahkan Aturan Validasi

Setelah model dibuat, kita dapat menambahkan aturan validasi ke dalamnya. Aturan validasi ini dapat mengikuti beberapa format, termasuk:

Aturan Built-in:

Yii Framework menyediakan berbagai aturan validasi built-in yang dapat digunakan, seperti required, string, number, email, dan banyak lainnya. Anda dapat menambahkan aturan-aturan ini sebagai metode di model Anda. Berikut adalah contoh penggunaan beberapa aturan built-in:

public function rules()
{
    return [
        [['title', 'content'], 'required'], // Field 'title' dan 'content' wajib diisi.
        ['email', 'email'], // Field 'email' harus berupa alamat email yang valid.
        ['age', 'number', 'integerOnly' => true], // Field 'age' harus berupa bilangan bulat.
    ];
}
Aturan Kustom:

Anda juga dapat membuat aturan validasi kustom dengan menambahkan metode dalam model Anda yang mengimplementasikan validasi. Misalnya, jika Anda ingin memeriksa apakah konten postingan memiliki lebih dari 100 kata, Anda dapat menambahkan aturan kustom seperti ini:

public function validateContent($attribute, $params)
{
    $wordCount = str_word_count($this->$attribute);
    if ($wordCount < 100) {
        $this->addError($attribute, 'Konten harus memiliki setidaknya 100 kata.');
    }
}

Langkah 3: Menjalankan Validasi

Sekarang, setelah aturan validasi ditambahkan ke model, kita dapat menjalankan validasi pada data sebelum menyimpannya ke database. Biasanya, ini dilakukan dalam aksi Controller yang menangani input pengguna. Berikut adalah contoh cara menjalankan validasi dalam sebuah aksi Controller:

public function actionCreate()
{
    $model = new Post();

    if ($model->load(Yii::$app->request->post()) && $model->validate()) {
        // Data valid, simpan ke database atau lakukan tindakan lainnya.
        $model->save();
        return $this->redirect(['view', 'id' => $model->id]);
    }

    return $this->render('create', [
        'model' => $model,
    ]);
}

Pada contoh di atas, validate() digunakan untuk menjalankan validasi pada model. Jika validasi berhasil, data akan disimpan ke database. Jika ada kesalahan validasi, pesan kesalahan akan otomatis ditampilkan di tampilan.

Kesimpulan

Membuat validasi data dengan aturan model Yii adalah langkah yang penting dalam memastikan integritas dan keabsahan data dalam aplikasi Anda. Dengan menggunakan aturan built-in atau aturan kustom, Anda dapat dengan mudah menentukan aturan validasi sesuai kebutuhan aplikasi Anda. Validasi ini akan membantu melindungi aplikasi Anda dari data yang tidak valid dan meningkatkan kualitas data yang disimpan dalam basis data.

Artikel Lainnya Dengan Kategori Terkait :


1. Belajar Framework Yii #01 | Pengertian Framework Yii dan Kelebihannya

2. Belajar Framework Yii #02 | Alur Kerja Umum Yii dan MVC

3. Belajar Framework Yii #03 | Instalasi Yii Framework

4. Belajar Framework Yii #04 | Pemahaman tentang Model-View-Controller (MVC) pada Framework Yii

5. Belajar Framework Yii #05 | Model Yii : Membuat Model

6. Belajar Framework Yii #06 | Model Yii : Validasi Data

7. Belajar Framework Yii #07 | Model Yii : Menghubungkan Database

8. Belajar Framework Yii #08 | View Yii : Membuat Tampilan Yii

9. Belajar Framework Yii #09 | View Yii: Widget Bawaan Yii

10. Belajar Framework Yii #10 | View Yii: Membuat Tampilan Dinamis

11. Belajar Framework Yii #11 | Controller Yii: Membuat Action dalam Controller

12. Belajar Framework Yii #12 | Controller Yii: Menggunakan Filter

13. Belajar Framework Yii #13 | Controller Yii: Memahami Request

14. Belajar Framework Yii #14 | Routing Yii : Memahami Konfigurasi

15. Belajar Framework Yii #15 | Routing Yii : Membuat rute khusus

16. Belajar Framework Yii #16 | Routing Yii : Memahami Konsep pretty's URL

17. Belajar Framework Yii #18 | Menggunakan ActiveRecord untuk manipulasi data

18. Belajar Framework Yii #19 | Membuat kueri kompleks dengan Active Record

19. Belajar Framework Yii #20 | Membuat dan Mengelola Formulir dengan Yii

20. Belajar Framework Yii #21 | Menggunakan validasi pada formulir Yii

21. Belajar Framework Yii #22 | Menangani input dan output form dengan Yii

22. Belajar Framework Yii #23 | Security : Pengelolaan autentikasi dan otorisasi dengan Yii

23. Belajar Framework Yii #24 | Security : Implementasi Fitur Keamanan Yii

24. Belajar Framework Yii #25 | Memahami penggunaan tema (themes) dalam Yii

25. Belajar Framework Yii #26 | Menggunakan ekstensi Yii dan membangun ekstensi kustom

26. Belajar Framework Yii #27 | Membuat API menggunakan Yii

27. Belajar Framework Yii #28 | Melakukan pengujian unit dengan PHPUnit

28. Belajar Framework Yii #29 | Menggunakan alat bantu debugging dalam Yii

29. Belajar Framework Yii #30 | Menangani error dan log dalam Yii

30. Belajar Framework Yii #31 | Memahami caching dalam Yii untuk meningkatkan performa

31. Belajar Framework Yii #32 | Menyesuaikan konfigurasi aplikasi Yii untuk kebutuhan khusus

32. Belajar Framework Yii #33 | Menerapkan praktik pengembangan yang efisien dalam Yii

33. Belajar Framework Yii #34 | Mengoptimalkan query database dengan Active Record di Yii

34. Belajar Framework Yii #35 | Mempercepat waktu muat halaman dengan menggunakan asset caching di Yii

35. Belajar Framework Yii #36 | Menyesuaikan URL routing untuk meningkatkan SEO pada Yii

36. Belajar Framework Yii #37 | Mengoptimalkan penggunaan memori dalam aplikasi Yii

37. Belajar Framework Yii #38 | Meningkatkan performa dengan penggunaan Gii dalam pembangunan kode di Yii

38. Belajar Framework Yii #39 | Menggunakan teknik lazy loading untuk meningkatkan kecepatan aplikasi Yii

39. Belajar Framework Yii #40 | Menerapkan teknik penggunaan indeks dan optimasi tabel database pada Yii.

40. Mempelajari Framework Yii #17 Menghubungkan Yii dengan database

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya