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:
[caption id="attachment_5482" align="aligncenter" width="380"]

validasi dua primary key yii[/caption]
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.