Validasi Dua Primary Key di Yii

Kadangkala di dalam satu tabel kita memiliki lebih dari satu primary key (composite primary key), sehingga validasi unik dari Model yang dibuat di Yii terhadap tabel tersebut juga harus dari dua primary key tersebut.

Jika kita hanya memiliki satu primary key, maka rule validasi yang diberikan di function rules pada Model adalah array(‘id_prop’, ‘unique’), tetapi jika kita memiliki dua primary key yang hanya unik ketika keduanya digabungkan, maka kita perlu memberikan perlakuan khusus terhadap rule tersebut.

Validasi Dua Primary Key di Yii

Terima kasih dengan adanya extensions di Yii kita bisa lebih mudah melakukan validasi dua primary key di Yii. Salah satu extensions yang digunakan untuk melakukan validasi dua atribut adalah unique-attributes-validator.

Oh iya, ini contoh form yang membutuhkan dua atribut yang unik:

validasi dua primary key yii
validasi dua primary key yii

Dengan mengunakan extensions tersebut, kita hanya perlu kode singkat seperti ini untuk melakukan validasi dua atribut di Model:

public function rules()
	{
		return array(
			array('id_prop, id_kab_kota', 'numerical', 'integerOnly'=>true),
			array('id_prop, nama_kab_kota, id_kab_kota', 'required'),
			array('id_prop', 'UniqueAttributesValidator', 'with'=>'id_kab_kota'),
			array('id_prop, id_kab_kota, nama_kab_kota', 'safe', 'on'=>'search'),
		);
	}

Tambahan, untuk menggunakan jangan lupa di config/main.php dipasang dulu ya extensionsnya:

'import'=>array(
	...
	'ext.UniqueAttributesValidator',
	// 'ext.*', // untuk meload semua extensions
),

Semoga bermanfaat.

Leave a Comment