1. PHP
  2. Yii Framework

Yii Framework Scenario

Scenario merupakan fungsi yang sangat berguna untuk memisahkan tugas-tugas validasi pada setiap model. Contoh, Untuk kasus tertentu field name pada table person harus bersifat required, dan pada kasus lainnya tidak. Hal ini dapat di atur dengan penggunaan scenario.

Menentukan Scenario

Hal pertama adalah untuk menginisialisasi instance Model dengan skenario. Hal ini dapat dilakukan dengan dua cara.

  1. Menggunakan constructor parameter$model = new Person('add');
  2. Mengatur scenario pada instance CActiveRecord yang sudah ada$model = Person::model()->findByPk(1); $model->scenario = 'add';

Membuat Scenario untuk mengatur validasi.

Seperti disebutkan sebelumnya, kita dapat mengatur validasi yang berbeda untuk beberapa kasus menggunakan scenario. Untuk menentukan pada scenario apa aturan validasi harus dilakukan yaitu dengan menambahkan opsi on pada rules model. Jika opsi ini tidak diatur, aturan validasi akan diterapkan dalam setiap skenario

Contoh

Pada contoh dibawah ini kita akan mengatur field name agar bersifat required pada skenario add.

public function rules()
{
    return array(
        array('gender', 'required'),
        array('name', 'required', 'on' => 'add'),
        ////
    );
}

Bagaimana menggunakan skenario?

Contoh 1

Pada contoh di bawah ini instance dari model Person tidak menggunakan scenario add yang telah di buat pada rules model.

public function actionCreate()
{
    $model=new Person;
    ///
}

Dapat dilihat pada contoh di atas, field name tidak bersifat required. karena rules required pada field name hanya di set untuk scenario add.

Contoh 2

Pada contoh di bawah ini instance dari model Person menggunakan scenario add yang telah di buar pada rules model. Hal ini berarti field name pada tabel person akan bersifat required.

public function actionCreate()
{
    $model=new Person('add'); // scenario add
    ///
}

Note :

Sekarang ketika Anda memvalidasi input dari pengguna, anda dapat membuat aturan validasi yang berbeda tergantung dari logika bisnis yang anda inginkan.

Comments to: Yii Framework Scenario

    Your email address will not be published. Required fields are marked *

    Attach images - Only PNG, JPG, JPEG and GIF are supported.